From e2cd94abacc0101af8d0db7fed3a785c1a045b5d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 07 五月 2020 09:28:51 +0800
Subject: [PATCH] 上传

---
 ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected.png                     |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs             |   14 
 ZigbeeApp/GateWay.Droid/Assets/Language.ini                                                |    5 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGas.png                           |    0 
 ZigbeeApp/Home.Ios/Resources/Language.ini                                                  |    5 
 ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs                                           |   14 
 ZigbeeApp/Home.Ios/Home.IOS.csproj                                                         |    7 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs                  |   28 ++
 ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorPMTwoPointFiveForm.cs             |   95 ++++++
 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj                                               |   21 +
 ZigbeeApp/Shared/R.cs                                                                      |   12 
 ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorPMTwoPointFive.png                       |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs            |    1 
 ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCeilingGas.png                         |    0 
 ZigbeeApp/Shared/Common/CommonPage.cs                                                      |    2 
 ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorCeilingGas.png                           |    0 
 ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs                                          |    6 
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs                                       |    6 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs                           |    9 
 ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected2.png                    |    0 
 ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml                                     |    2 
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs                             |  110 +++++--
 ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCeilingGas.png                       |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs                |    5 
 ZigbeeApp/Shared/Shared.projitems                                                          |    2 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected2.png                  |    0 
 ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorPMTwoPointFive.png                         |    0 
 /dev/null                                                                                  |  323 -----------------------
 ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorPMTwoPointFive.png                     |    0 
 ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGas.png                             |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorCeilingGas.png                         |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected.png                   |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorPMTwoPointFive.png                       |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs          |  151 ++++++---
 35 files changed, 383 insertions(+), 437 deletions(-)

diff --git a/ZigbeeApp/GateWay.Droid/Assets/Language.ini b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
index e6078b0..d23cfa6 100755
--- a/ZigbeeApp/GateWay.Droid/Assets/Language.ini
+++ b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -315,6 +315,7 @@
 310=璇疯緭鍏ュ悎娉曠殑鏁板瓧
 311=鎵嬪姩
 312= 鑳屽厜鐏鑹�
+313=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝淇″彿鍥炬爣{0}蹇棯锛� 杩涘叆閰嶇綉鐘舵�併�備俊鍙峰浘鏍囧父浜垯閰嶇綉鎴愬姛
 
 5097=鍙栨秷
 5098=纭畾
@@ -1837,6 +1838,7 @@
 16113=鐏叏寮�
 16114=鐏叏鍏�
 16115=甯稿紑鑷姩鍖栨墜鍔ㄥ彇娑�
+16116=娓稿浣撻獙
 
 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
@@ -2069,4 +2071,5 @@
 70022=娓╂箍搴︿紶鎰熷櫒
 70023=涓户鍣�
 70024=鏅鸿兘绌哄紑
-70025=鍚搁《鐕冩皵浼犳劅鍣�
\ No newline at end of file
+70025=鍚搁《鐕冩皵浼犳劅鍣�
+70026=PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGas.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGas.png
new file mode 100755
index 0000000..7d014fa
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGas.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected.png
new file mode 100755
index 0000000..5d94caf
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected2.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected2.png
new file mode 100755
index 0000000..5394ed4
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorCeilingGasSelected2.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorPMTwoPointFive.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorPMTwoPointFive.png
new file mode 100755
index 0000000..32335b9
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Device/SensorPMTwoPointFive.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorCeilingGas.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorCeilingGas.png
new file mode 100755
index 0000000..dbca94f
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorCeilingGas.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorPMTwoPointFive.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorPMTwoPointFive.png
new file mode 100755
index 0000000..b0d1b8e
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Instruct/SensorPMTwoPointFive.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCeilingGas.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCeilingGas.png
new file mode 100755
index 0000000..4ae7a25
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/RealDevice/SensorCeilingGas.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
index c075865..9a06d03 100644
--- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
+++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
@@ -2116,6 +2116,27 @@
   <ItemGroup>
     <AndroidAsset Include="Assets\Phone\FreshAir\FreshAirRealDevicePic.png" />
   </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\RealDevice\SensorCeilingGas.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Device\SensorCeilingGas.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Device\SensorCeilingGasSelected.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Device\SensorCeilingGasSelected2.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Instruct\SensorCeilingGas.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Device\SensorPMTwoPointFive.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Instruct\SensorPMTwoPointFive.png" />
+  </ItemGroup>
   <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" />
   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
   <Import Project="..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Annotations.26.0.2\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" />
diff --git a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
index f00ee0c..4bd5c4d 100644
--- a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
+++ b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2020042701" android:installLocation="auto" android:versionName="1.0.20042701">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="2020050601" android:installLocation="auto" android:versionName="1.0.20050601">
 	<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="26" />
 	<permission android:name="com.hdl.home.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
 	<uses-permission android:name="android.permission.WAKE_LOCK" />
diff --git a/ZigbeeApp/Home.Ios/Home.IOS.csproj b/ZigbeeApp/Home.Ios/Home.IOS.csproj
index 3620641..2c5d995 100644
--- a/ZigbeeApp/Home.Ios/Home.IOS.csproj
+++ b/ZigbeeApp/Home.Ios/Home.IOS.csproj
@@ -231,9 +231,11 @@
       <BundleResource Include="Resources\Phone\Instruct\PanelFangyueFourButton.png" />
       <BundleResource Include="Resources\Phone\Instruct\PanelFourButton.png" />
       <BundleResource Include="Resources\Phone\Instruct\AirConditionerZbGateway.png" />
+      <BundleResource Include="Resources\Phone\Instruct\SensorCeilingGas.png" />
       <BundleResource Include="Resources\Phone\Instruct\IntelligentLocksH06C.png" />
       <BundleResource Include="Resources\Phone\Instruct\SensorDoorWindow.png" />
       <BundleResource Include="Resources\Phone\Instruct\SensorFire.png" />
+      <BundleResource Include="Resources\Phone\Instruct\SensorPMTwoPointFive.png" />
       <BundleResource Include="Resources\Phone\Instruct\PanelThreeButton.png" />
       <BundleResource Include="Resources\Phone\Instruct\SensorCarbonMonoxide.png" />
       <BundleResource Include="Resources\Phone\Instruct\DimmableLightOneLoad.png" />
@@ -714,6 +716,7 @@
       <BundleResource Include="Resources\Phone\Device\SensorCarbonMonoxideSelected.png" />
       <BundleResource Include="Resources\Phone\Device\ButtonPanelFour.png" />
       <BundleResource Include="Resources\Phone\Device\RelayEpointSelected.png" />
+      <BundleResource Include="Resources\Phone\Device\SensorCeilingGasSelected.png" />
       <BundleResource Include="Resources\Phone\Device\ButtonPanelSelected.png" />
       <BundleResource Include="Resources\Phone\Device\SensorTemperatureHumidity.png" />
       <BundleResource Include="Resources\Phone\Device\RepeaterZigbeeSelected2.png" />
@@ -734,6 +737,7 @@
       <BundleResource Include="Resources\Phone\Device\Sensor.png" />
       <BundleResource Include="Resources\Phone\Device\FreshAirEpointSelected2.png" />
       <BundleResource Include="Resources\Phone\Device\RepeaterSelected.png" />
+      <BundleResource Include="Resources\Phone\Device\SensorCeilingGasSelected2.png" />
       <BundleResource Include="Resources\Phone\Device\AirSwitchSelected2.png" />
       <BundleResource Include="Resources\Phone\Device\ConverterSelected2.png" />
       <BundleResource Include="Resources\Phone\Device\AirSwitchSelected.png" />
@@ -776,6 +780,7 @@
       <BundleResource Include="Resources\Phone\Device\ButtonPanelFourSelected.png" />
       <BundleResource Include="Resources\Phone\Device\ButtonPanelOneSelected.png" />
       <BundleResource Include="Resources\Phone\Device\SensorPirSelected.png" />
+      <BundleResource Include="Resources\Phone\Device\SensorCeilingGas.png" />
       <BundleResource Include="Resources\Phone\Device\CurtainSiphonateSelected2.png" />
       <BundleResource Include="Resources\Phone\Device\LightSelected2.png" />
       <BundleResource Include="Resources\Phone\Device\ButtonPanelThreeSelected.png" />
@@ -801,6 +806,7 @@
       <BundleResource Include="Resources\Phone\Device\ButtonPanelThree.png" />
       <BundleResource Include="Resources\Phone\Device\SensorInfraredSelected.png" />
       <BundleResource Include="Resources\Phone\Device\RepeaterSelected2.png" />
+      <BundleResource Include="Resources\Phone\Device\SensorPMTwoPointFive.png" />
       <BundleResource Include="Resources\Phone\Device\ConverterSelected.png" />
       <BundleResource Include="Resources\Phone\Device\RepeaterZigbeeSelected.png" />
       <BundleResource Include="Resources\Phone\Device\SensorCarbonMonoxide.png" />
@@ -992,6 +998,7 @@
       <BundleResource Include="Resources\Phone\RealDevice\CommonDevice.png" />
       <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelFangyueEnvironment.png" />
       <BundleResource Include="Resources\Phone\RealDevice\AirConditionerZbGateway.png" />
+      <BundleResource Include="Resources\Phone\RealDevice\SensorCeilingGas.png" />
       <BundleResource Include="Resources\Phone\RealDevice\IntelligentLocksH06C.png" />
       <BundleResource Include="Resources\Phone\RealDevice\SensorDoorWindow.png" />
       <BundleResource Include="Resources\Phone\RealDevice\ButtonPanelFangyueEight.png" />
diff --git a/ZigbeeApp/Home.Ios/Resources/Language.ini b/ZigbeeApp/Home.Ios/Resources/Language.ini
index e6078b0..d23cfa6 100755
--- a/ZigbeeApp/Home.Ios/Resources/Language.ini
+++ b/ZigbeeApp/Home.Ios/Resources/Language.ini
@@ -315,6 +315,7 @@
 310=璇疯緭鍏ュ悎娉曠殑鏁板瓧
 311=鎵嬪姩
 312= 鑳屽厜鐏鑹�
+313=闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝淇″彿鍥炬爣{0}蹇棯锛� 杩涘叆閰嶇綉鐘舵�併�備俊鍙峰浘鏍囧父浜垯閰嶇綉鎴愬姛
 
 5097=鍙栨秷
 5098=纭畾
@@ -1837,6 +1838,7 @@
 16113=鐏叏寮�
 16114=鐏叏鍏�
 16115=甯稿紑鑷姩鍖栨墜鍔ㄥ彇娑�
+16116=娓稿浣撻獙
 
 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
@@ -2069,4 +2071,5 @@
 70022=娓╂箍搴︿紶鎰熷櫒
 70023=涓户鍣�
 70024=鏅鸿兘绌哄紑
-70025=鍚搁《鐕冩皵浼犳劅鍣�
\ No newline at end of file
+70025=鍚搁《鐕冩皵浼犳劅鍣�
+70026=PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
\ No newline at end of file
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGas.png b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGas.png
new file mode 100755
index 0000000..7d014fa
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGas.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected.png b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected.png
new file mode 100755
index 0000000..5d94caf
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected2.png b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected2.png
new file mode 100755
index 0000000..5394ed4
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorCeilingGasSelected2.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorPMTwoPointFive.png b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorPMTwoPointFive.png
new file mode 100755
index 0000000..32335b9
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Device/SensorPMTwoPointFive.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorCeilingGas.png b/ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorCeilingGas.png
new file mode 100755
index 0000000..dbca94f
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorCeilingGas.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorPMTwoPointFive.png b/ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorPMTwoPointFive.png
new file mode 100755
index 0000000..b0d1b8e
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Instruct/SensorPMTwoPointFive.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCeilingGas.png b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCeilingGas.png
new file mode 100755
index 0000000..4ae7a25
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/RealDevice/SensorCeilingGas.png
Binary files differ
diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs
index cbcbd24..aa1c7ba 100755
--- a/ZigbeeApp/Shared/Common/CommonPage.cs
+++ b/ZigbeeApp/Shared/Common/CommonPage.cs
@@ -57,7 +57,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string CodeIDString = "1.0.20042801";
+        public static string CodeIDString = "1.0.20050601";
         /// <summary>
         /// 娉ㄥ唽鏉ユ簮(0:HDL On 1:Zigbee)
         /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index e647ad7..6da6680 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -400,11 +400,7 @@
         private void RefreshView(VerticalRefreshLayout verticalRefresh)
         {
             verticalRefresh.RemoveAll();
-            for (int i = 0; i < 6; i++)
-            {
-                Common.Logic.SoneLogicList.Add(new Common.Logic { LogicName = i.ToString() });
-
-            }
+           
             foreach (var logic in Common.Logic.SoneLogicList)
             {
                 #region  鑷姩鍖栧竷灞�View
diff --git a/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs b/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
index 1def82e..859f605 100755
--- a/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
+++ b/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
@@ -189,10 +189,10 @@
             var btnTiyan = new NormalViewControl(300, 100, true);
             btnTiyan.Y = btnLoginByCode.Y;
             btnTiyan.TextAlignment = TextAlignment.Center;
-            btnTiyan.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnTiyan.TextColor = UserCenterColor.Current.TextOrangeColor;
             btnTiyan.TextSize = 12;
             btnTiyan.Gravity = Gravity.CenterHorizontal;
-            btnTiyan.Text = "娓稿浣撻獙";
+            btnTiyan.TextID = R.MyInternationalizationString.uExperienceAccount;
             frameMidBack.AddChidren(btnTiyan);
             btnTiyan.ButtonClickEvent += (sender, e) =>
             {
@@ -637,14 +637,10 @@
             //瀛椾綋鎬诲搴�
             int fontWidth = 0;
             int btnWidth = 0;
-#if Android
+
             //鐗规畩鐨勮宸��
-            int speceilValue = Application.GetRealWidth(20);
-#endif
-#if iOS
-            //鐗规畩鐨勮宸��
-            int speceilValue = Application.GetRealWidth(10);
-#endif
+            int speceilValue = ControlCommonResourse.TwoTextSpace;
+
             //鎴戝凡闃呰骞跺悓鎰�
             var btnMsg1 = new NormalViewControl(100, 90, true);
             btnMsg1.Gravity = Gravity.CenterVertical;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
index 91787a6..7975fd9 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
@@ -82,6 +82,34 @@
         }
 
         /// <summary>
+        /// 鑾峰彇闈㈡澘棰滆壊鐨勪俊鎭�(鍑洪敊浼氳繑鍥瀗ull)
+        /// </summary>
+        /// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
+        /// <returns></returns>
+        public async Task<Panel.KeyColorData> GetPanelColorInfo(Panel panel)
+        {
+            panel.DeviceEpoint = 1;
+            Panel.KeyNum keyNum = (Panel.KeyNum)panel.DeviceEpoint;
+            var result = await panel.GetPanelColorInfoAsync(keyNum);
+            //鍏遍�氶敊璇娴�
+            string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+            if (error != null)
+            {
+                this.ShowErrorMsg(error);
+                return null;
+            }
+
+            if (result == null || result.keyColorData == null)
+            {
+                //鑾峰彇鎸夐敭闈㈡澘棰滆壊璋冭妭淇℃伅澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uGetPanelColorRegulationInfoFail);
+                this.ShowErrorMsg(msg);
+                return null;
+            }
+            return result.keyColorData;
+        }
+
+        /// <summary>
         /// 璁剧疆鎸夐敭闈㈡澘鎸囧畾绔偣鐨勩�愭寚绀虹伅寮�鍏抽鑹层�戠殑淇℃伅
         /// </summary>
         /// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs
index 878d26f..6a0fd93 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs
@@ -234,7 +234,6 @@
                 list.Add(new AddDevicePra { DeviceType = VirtualDeviceEnum.A绌烘皵寮�鍏�, RoomId = floorKey + "_XuanGuan", DeviceCount = 1 });
                 list.Add(new AddDevicePra { DeviceType = VirtualDeviceEnum.A1璺皟鍏夊櫒, RoomId = floorKey + "_XuanGuan", DeviceCount = 1 });
                 list.Add(new AddDevicePra { DeviceType = VirtualDeviceEnum.A闂ㄧ獥纾佷紶鎰熷櫒, RoomId = floorKey + "_XuanGuan", DeviceCount = 1 });
-                list.Add(new AddDevicePra { DeviceType = VirtualDeviceEnum.A鏅鸿兘闂ㄩ攣, RoomId = floorKey + "_XuanGuan", DeviceCount = 1 });
 
                 //鍘ㄦ埧
                 list.Add(new AddDevicePra { DeviceType = VirtualDeviceEnum.A4鎸夐敭闈㈡澘, RoomId = floorKey + "_ChuFang", DeviceCount = 1 });
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs
index 6959990..97a3d37 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs
@@ -34,7 +34,7 @@
         /// </summary>
         public static int BodyFrameHeight
         {
-            get { return UserView.HomePage.Instance.Height - Application.GetRealHeight(184); }
+            get { return UserView.HomePage.Instance.Height - TopMenuFrameHeight - TopFrameHeight; }
         }
         /// <summary>
         /// 鐢婚潰BottomFrameLayout鐨勯珮搴�(楂樺害锛�141 娉細姝ゅ彉閲忓湪涓汉涓績涓嶄娇鐢�)
@@ -68,5 +68,17 @@
         /// 寰愭鐨勯棬閿佺晫闈㈡槸鍚︽槸鎵撳紑鐨勭姸鎬�
         /// </summary>
         public static bool IsDoorLockPageOpen = false;
+#if Android
+        /// <summary>
+        /// 涓や釜鏂囨湰鎷兼帴鏃�,涓轰簡鐪嬭捣鏉ユ槸姝e父鐨勶紝闇�瑕佸噺鍘诲畠浠箣闂寸殑闂撮殧璇樊
+        /// </summary>
+        public static int TwoTextSpace = Application.GetRealWidth(20);
+#endif
+#if iOS
+        /// <summary>
+        /// 涓や釜鏂囨湰鎷兼帴鏃�,涓轰簡鐪嬭捣鏉ユ槸姝e父鐨勶紝闇�瑕佸噺鍘诲畠浠箣闂寸殑闂撮殧璇樊
+        /// </summary>
+        public static int TwoTextSpace = Application.GetRealWidth(10);
+#endif
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs
index 4e04d79..c7a8778 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/AddDeviceTypeListForm.cs
@@ -176,6 +176,11 @@
             objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName23);
             unSelectPic = "Device/SensorTemperatureHumidity.png";
             this.AddMenuRow(objectText, unSelectPic, "SensorTemperatureHumidityForm");
+
+            //PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
+            objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName27);
+            unSelectPic = "Device/SensorPMTwoPointFive.png";
+            this.AddMenuRow(objectText, unSelectPic, "SensorPMTwoPointFiveForm");
 
             //涓户鍣�
             objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName24);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorPMTwoPointFiveForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorPMTwoPointFiveForm.cs
new file mode 100755
index 0000000..b9ee56c
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Direction/SensorPMTwoPointFiveForm.cs
@@ -0,0 +1,95 @@
+锘縰sing System;
+namespace Shared.Phone.UserCenter.DeviceDirection
+{
+    /// <summary>
+    /// PM2.5浼犳劅鍣ㄧ殑娣诲姞姝ラ鐣岄潰
+    /// </summary>
+    public class SensorPMTwoPointFiveForm : DirectionCommonForm
+    {
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //鍥剧墖
+            var framePic = new FrameLayout();
+            framePic.Width = this.GetPictrueRealSize(897);
+            framePic.Height = this.GetPictrueRealSize(705);
+            framePic.Gravity = Gravity.CenterHorizontal;
+            framePic.Y = Application.GetRealHeight(130);
+            bodyFrameLayout.AddChidren(framePic);
+            var btnPic = new PicViewControl(framePic.Width, framePic.Height, false);
+            btnPic.UnSelectedImagePath = "Instruct/SensorPMTwoPointFive.png";
+            framePic.AddChidren(btnPic);
+
+            //淇″彿鍥炬爣蹇棯
+            var btnGreanLinght = new NormalViewControl(this.GetPictrueRealSize(455), this.GetPictrueRealSize(45), false);
+            btnGreanLinght.X = this.GetPictrueRealSize(420);
+            btnGreanLinght.Y = this.GetPictrueRealSize(295);
+            btnGreanLinght.TextAlignment = TextAlignment.Center;
+            btnGreanLinght.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnGreanLinght.TextSize = 10;
+            btnGreanLinght.TextID = R.MyInternationalizationString.uSignalIconFlash;
+            framePic.AddChidren(btnGreanLinght);
+
+            //淇″彿鍥炬爣
+            var btnLinght = new NormalViewControl(this.GetPictrueRealSize(250), this.GetPictrueRealSize(45), false);
+            btnLinght.X = this.GetPictrueRealSize(550);
+            btnLinght.Y = this.GetPictrueRealSize(588);
+            btnLinght.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnLinght.TextSize = 10;
+            btnLinght.TextID = R.MyInternationalizationString.uSignalIcon;
+            framePic.AddChidren(btnLinght);
+
+            //闀挎寜5绉�(鎸夐敭)
+            string textMsg = Language.StringByID(R.MyInternationalizationString.uLongClickPanelSomeSecond);
+            if (textMsg.Contains("{0}") == true)
+            {
+                textMsg = string.Format(textMsg, "5");
+            }
+            var btnSecond = new NormalViewControl(this.GetPictrueRealSize(360), this.GetPictrueRealSize(45), false);
+            btnSecond.X = this.GetPictrueRealSize(48);
+            btnSecond.Y = this.GetPictrueRealSize(107);
+            btnSecond.TextColor = UserCenterColor.Current.TextGrayColor3;
+            btnSecond.TextSize = 10;
+            btnSecond.Text = textMsg;
+            framePic.AddChidren(btnSecond);
+
+            //闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝淇″彿鍥炬爣
+            //蹇棯锛� 杩涘叆閰嶇綉鐘舵�併�備俊鍙峰浘鏍囧父浜垯閰嶇綉鎴愬姛
+            string[] msgArry = Language.StringByID(R.MyInternationalizationString.AddSensorPMMsg).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
+
+            var msg1 = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+            msg1.Y = Application.GetRealHeight(1037);
+            msg1.Text = msgArry[0];
+            msg1.TextColor = UserCenterColor.Current.TextGrayColor3;
+            msg1.TextAlignment = TextAlignment.Center;
+            bodyFrameLayout.AddChidren(msg1);
+            var msg2 = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
+            msg2.Y = msg1.Bottom;
+            if (msgArry.Length > 1)
+            {
+                msg2.Text = msgArry[1];
+            }
+            msg2.TextColor = UserCenterColor.Current.TextGrayColor3;
+            msg2.TextAlignment = TextAlignment.Center;
+            bodyFrameLayout.AddChidren(msg2);
+        }
+
+        #endregion
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs
index 248ffea..d47001c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs
@@ -514,7 +514,7 @@
                 this.CloseProgressBar(ShowReLoadMode.YES);
                 return false;
             }
-            keyColorData = await HdlDevicePanelLogic.Current.GetPanelEpointColorInfo(panelDevice);
+            keyColorData = await HdlDevicePanelLogic.Current.GetPanelColorInfo(panelDevice);
             if (this.keyColorData == null)
             {
                 //鍏抽棴杩涘害鏉�
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetForm.cs
deleted file mode 100755
index 4a06c6c..0000000
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetForm.cs
+++ /dev/null
@@ -1,323 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-using ZigBee.Device;
-namespace Shared.Phone.UserCenter.DevicePanel
-{
-    public class PanelFangyueFreshAirTargetForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________ 
-        /// <summary>
-        /// 鍒楄〃鎺т欢
-        /// </summary>
-        private VerticalListControl listView = null;
-        /// <summary>
-        /// 鐩爣璁惧
-        /// </summary>
-        private CommonDevice deviceTarget = null;
-        /// <summary>
-        /// 缁戝畾鐨勭洰鏍囩殑涓婚敭(鍙兘缁戝畾涓�涓�)
-        /// </summary>
-        private string bindTargetKey = null;
-        /// <summary>
-        /// 褰撳墠閫夋嫨鐨勬ゼ灞侷D
-        /// </summary>
-        private string nowSelectFloorId = string.Empty;
-        /// <summary>
-        /// 1锛氱┖璋冪洰鏍�  2锛氬湴鏆栫洰鏍�  3锛氭柊椋庣洰鏍�
-        /// </summary>
-        private int deviceDiv = -1;
-        /// <summary>
-        /// 鍙互鏄剧ず鐨勮澶囧璞� (Keys:鎴块棿ID)
-        /// </summary>
-        private Dictionary<string, List<CommonDevice>> dicShowDevice = new Dictionary<string, List<CommonDevice>>();
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        /// <param name="i_deviceTarget">鐩爣璁惧</param>
-        /// <param name="i_bindTargetKey">缁戝畾鐨勭洰鏍囩殑涓婚敭(鍙兘缁戝畾涓�涓�)</param>
-        /// <param name="i_div">1锛歅M2.5浼犳劅鍣�  2锛氭柊椋庣洰鏍�</param>
-        public void ShowForm(CommonDevice i_deviceTarget, string i_bindTargetKey, int i_div)
-        {
-            this.deviceTarget = i_deviceTarget;
-            this.bindTargetKey = i_bindTargetKey;
-            this.deviceDiv = i_div;
-
-            //璁剧疆澶撮儴淇℃伅
-            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uNewWindTarget));
-
-            //鍒濆鍖栧彸涓婅鐨勬帶浠�
-            this.InitTopRightMenuControl();
-
-            //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
-        /// </summary>
-        private void InitMiddleFrame()
-        {
-            //娓呯┖bodyFrame
-            this.ClearBodyFrame();
-
-            HdlThreadLogic.Current.RunThread(() =>
-            {
-                var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.nowSelectFloorId, false);
-                var listDataRoom = new List<Common.Room>();
-                for (int i = 0; i < listRoom.Count; i++)
-                {
-                    //妫�娴嬭兘鍚︽樉绀鸿鎴块棿
-                    if (this.CheckCanShowRoom(listRoom[i]) == true)
-                    {
-                        listDataRoom.Add(listRoom[i]);
-                    }
-                }
-
-                HdlThreadLogic.Current.RunMain(() =>
-                {
-                    if (listDataRoom.Count > 0)
-                    {
-                        //鍒濆鍖栨埧闂村拰璁惧鍒楄〃 
-                        this.InitRoomAndDeviceRow(listDataRoom);
-                    }
-                    else
-                    {
-                        //濡傛灉娌℃湁鍙互娣诲姞鐨勭洰鏍�
-                        bodyFrameLayout.RemoveAll();
-                        this.ShowNotDataImage(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uNotHadAddTarget), "Item/NotShardPic.png", 383, 279);
-                    }
-                });
-            });
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栧彸涓婅鐨勬帶浠�
-        /// </summary>
-        private void InitTopRightMenuControl()
-        {
-            //鑾峰彇妤煎眰
-            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
-            if (dicFloor.Count == 0)
-            {
-                return;
-            }
-            var btnIconContr = new MostRightIconControl(69, 69);
-            btnIconContr.UnSelectedImagePath = "Item/Drop_Down.png";
-            topFrameLayout.AddChidren(btnIconContr);
-            btnIconContr.InitControl();
-
-            var btnFloor = new NormalViewControl(300, 69, true);
-            btnFloor.Gravity = Gravity.CenterVertical;
-            btnFloor.X = btnIconContr.X + btnIconContr.btnIcon.X - Application.GetRealWidth(300);
-            btnFloor.TextAlignment = TextAlignment.CenterRight;
-            topFrameLayout.AddChidren(btnFloor);
-
-            foreach (var floorId in dicFloor.Keys)
-            {
-                //绗竴涓ゼ灞�
-                this.nowSelectFloorId = floorId;
-                btnFloor.Text = dicFloor[floorId];
-                break;
-            }
-
-            btnIconContr.ButtonClickEvent += (sender, e) =>
-            {
-                //妤煎眰鑿滃崟
-                var contr = new TopRightMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor));
-                foreach (var floorId in dicFloor.Keys)
-                {
-                    contr.AddRowMenu(dicFloor[floorId], "Floor/Floor.png", "Floor/FloorSelected.png", () =>
-                    {
-                        //璁板綍璧烽�夋嫨鐨処D
-                        this.nowSelectFloorId = floorId;
-                        this.bindTargetKey = string.Empty;
-
-                        btnFloor.Text = dicFloor[this.nowSelectFloorId];
-                        //鍒濆鍖栦腑閮ㄤ俊鎭�
-                        this.InitMiddleFrame();
-                    });
-                }
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 鎴块棿鍜岃澶囧垪琛╛____________________
-
-        /// <summary>
-        /// 鍒濆鍖栨埧闂村拰璁惧鍒楄〃
-        /// </summary>
-        /// <param name="listRoom">鍙互鏄剧ず鐨勬埧闂村璞�</param>
-        private void InitRoomAndDeviceRow(List<Common.Room> listRoom)
-        {
-            //鎴块棿鍒楄〃鎺т欢
-            var roomContr = new RoomDeviceGroupMenuControl(listRoom);
-            bodyFrameLayout.AddChidren(roomContr);
-
-            //鍒楄〃鎺т欢
-            this.listView = new VerticalListControl(23);
-            listView.BackgroundColor = UserCenterColor.Current.White;
-            listView.Height = bodyFrameLayout.Height - roomContr.Height;
-            listView.Y = roomContr.Bottom;
-            bodyFrameLayout.AddChidren(listView);
-
-            //淇濆瓨
-            var btnSave = new BottomClickButton();
-            btnSave.TextID = R.MyInternationalizationString.uSave;
-            bodyFrameLayout.AddChidren(btnSave);
-            btnSave.ButtonClickEvent += (sender, e) =>
-            {
-                //淇濆瓨鐩爣璁惧
-                this.SaveTargetDevice();
-            };
-
-            roomContr.SelectRoomEvent += (selectRoom) =>
-            {
-                HdlThreadLogic.Current.RunMainInThread(() =>
-                {
-                    //娣诲姞璁惧琛�
-                    this.AddDeviceRow(selectRoom.Id);
-                });
-            };
-            //鎵ц鍒濆鍖栨埧闂存帶浠�
-            roomContr.InitControl();
-        }
-
-        /// <summary>
-        /// 娣诲姞璁惧琛�
-        /// </summary>
-        /// <param name="roomId"></param>
-        private void AddDeviceRow(string roomId)
-        {
-            //鍏堟竻绌�
-            this.listView.RemoveAll();
-            listView.RecoverHeight();
-
-            DeviceSimpleSelectControl oldSelectContr = null;
-            var listDevice = this.dicShowDevice[roomId];
-            //鑾峰彇璁惧绫诲瀷鐨�
-            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
-            //妫�鏌ョ鍚堢殑璁惧
-            List<CommonDevice> listSupportDevice = new List<CommonDevice> { };
-            foreach (var dev in listDevice)
-            {
-                //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず
-                if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
-                {
-                    continue;
-                }
-                if (dev.Type == DeviceType.FreshAir)
-                {
-                    listSupportDevice.Add(dev);
-                }
-            }
-
-            DeviceSimpleSelectControl oldDeviceSimpleSelectControl = null;
-            int curIndex = 0;
-            for (int i = 0; i < listSupportDevice.Count; i++)
-            {
-                string mainKey = Common.LocalDevice.Current.GetDeviceMainKeys(listSupportDevice[i]);
-                var contr = new DeviceSimpleSelectControl(listSupportDevice[i], false, this.listView.rowSpace / 2);
-                listView.AddChidren(contr);
-                contr.InitControl();
-                if (i != listSupportDevice.Count - 1)
-                {
-                    //搴曠嚎
-                    contr.AddBottomLine();
-                }
-
-                contr.ButtonClickEvent += (sender, e) =>
-                {
-                    if (contr.IsSelected)
-                    {
-                        return;
-                    }
-                    contr.IsSelected = true;
-                    oldSelectContr = contr;
-                    this.bindTargetKey = mainKey;
-                    //contr.IsSelected = !contr.IsSelected;
-                    ////閫夋嫨浜嗗埆鐨勮澶�
-                    //if (contr.IsSelected == true)
-                    //{
-                    //    if (oldSelectContr != null)
-                    //    {
-                    //        oldSelectContr.IsSelected = false;
-                    //    }
-                    //    oldSelectContr = contr;
-                    //    this.bindTargetKey = mainKey;
-                    //}
-                    ////鍙栨秷閫夋嫨
-                    //else
-                    //{
-                    //    oldSelectContr = null;
-                    //    this.bindTargetKey = string.Empty;
-                    //}
-                };
-                if (this.bindTargetKey == mainKey)
-                {
-                    //杩欎釜鏄畠涔嬪墠缁戝畾鐨勮澶�
-                    contr.ButtonClickEvent(null, null);
-                }
-            }
-            //璋冩暣鐪熷疄楂樺害
-            listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23));
-        }
-
-        #endregion
-
-        #region 鈻� 淇濆瓨鏁版嵁___________________________
-
-        /// <summary>
-        /// 淇濆瓨鐩爣璁惧
-        /// </summary>
-        private void SaveTargetDevice()
-        {
-            this.CloseForm();
-        }
-
-        #endregion
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        /// <summary>
-        /// 妫�娴嬭鎴块棿鑳藉惁鏄剧ず
-        /// </summary>
-        /// <param name="room"></param>
-        /// <param name="i_div"></param>
-        /// <returns></returns>
-        private bool CheckCanShowRoom(Common.Room room)
-        {
-            bool canShow = false;
-            //鍏堟竻绌�
-            this.dicShowDevice[room.Id] = new List<CommonDevice>();
-
-            foreach (var deviceKeys in room.ListDevice)
-            {
-                var device = Common.LocalDevice.Current.GetDevice(deviceKeys);
-                if (device != null)
-                {
-                    if (device.Type == DeviceType.FreshAir)
-                    {
-                        //canShow = true;//聽聽杩欎釜鐣岄潰涓嶆樉绀烘埧闂�
-                        //鏀堕泦鍙互鏄剧ず鐨勮澶�
-                        this.dicShowDevice[room.Id].Add(device);
-                    }
-                }
-            }
-            return canShow;
-        }
-
-        private bool CheckdCanShowDevice(CommonDevice device)
-        {
-            bool canShow = false;
-
-            return canShow;
-        }
-        #endregion
-    }
-}
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
index b7a80c6..427baf6 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
@@ -274,9 +274,17 @@
             FrameLayout curentOldRoomFrameLayout = null;
             int index = 0;
             var roomTempList = GetSupportRoomList();
+            Room slectedRoom = null;
+
             for (int i = 0; i < roomTempList.Count; i++)
             {
                 var room = roomTempList[i];
+                bool canSelect = false;
+                if (curControlDev.currentSelectRoomId == room.Id)
+                {
+                    slectedRoom = room;
+                    canSelect = true;
+                }
                 //鎴块棿
                 var btnRoomFrameLayout = new FrameLayout
                 {
@@ -303,7 +311,7 @@
                 btnRoomFrameLayout.AddChidren(btnRoom);
 
                 btnRoom.IsSelected = false;
-                if (index == 0)
+                if (canSelect)
                 {
                     btnRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
                     btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
@@ -349,13 +357,20 @@
             }
             BindInfo.FinishDisplay(roomTempList, btnFinifh);
 
-            if (roomTempList.Count != 0)
+            if (roomTempList.Count == 0)
             {
-                curRoom = roomTempList[0];
+                curRoom = new Shared.Common.Room();
             }
             else
             {
-                curRoom = new Shared.Common.Room();
+                if (slectedRoom == null)
+                {
+                    curRoom = roomTempList[0];
+                }
+                else
+                {
+                    curRoom = slectedRoom;
+                }
             }
 
             RefreshDeviceList(curRoom);
@@ -452,38 +467,38 @@
                 }
 
                 EventHandler<MouseEventArgs> hander = (sender, e) =>
-               {
-                   btnChoose.IsSelected = !btnChoose.IsSelected;
-                   if (!btnChoose.IsSelected)
-                   {
-                       if (oldDevice != null)
-                       {
-                           oldDevice.IsSelected = false;
-                           oldDevice.Visible = false;
-                       }
-                       oldDevice = btnChoose;
-                       oldDevice.IsSelected = false;
-                       oldDevice.Visible = false;
-                       targetList.Clear();
-                   }
-                   else
-                   {
-                       if (oldDevice != null)
-                       {
-                           oldDevice.IsSelected = false;
-                           oldDevice.Visible = false;
-                       }
-                       oldDevice = btnChoose;
-                       oldDevice.IsSelected = true;
-                       oldDevice.Visible = true;
-                       targetList.Clear();
-                       targetList.Add(device);
-                   }
+                {
+                    btnChoose.IsSelected = !btnChoose.IsSelected;
+                    if (!btnChoose.IsSelected)
+                    {
+                        if (oldDevice != null)
+                        {
+                            oldDevice.IsSelected = false;
+                            oldDevice.Visible = false;
+                        }
+                        oldDevice = btnChoose;
+                        oldDevice.IsSelected = false;
+                        oldDevice.Visible = false;
+                        targetList.Clear();
+                    }
+                    else
+                    {
+                        if (oldDevice != null)
+                        {
+                            oldDevice.IsSelected = false;
+                            oldDevice.Visible = false;
+                        }
+                        oldDevice = btnChoose;
+                        oldDevice.IsSelected = true;
+                        oldDevice.Visible = true;
+                        targetList.Clear();
+                        targetList.Add(device);
+                    }
 
-                   //鏂伴闈㈡澘锛氱敱浜庣洰鏍囨病鏈夋彁渚涘垹闄ゆ帴鍙o紝鎵�浠ュ彲浠ュ彇娑堥�変腑鑳戒繚瀛�
-                   btnFinifh.Enable = true;
-                   btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-               };
+                    //鏂伴闈㈡澘锛氱敱浜庣洰鏍囨病鏈夋彁渚涘垹闄ゆ帴鍙o紝鎵�浠ュ彲浠ュ彇娑堥�変腑鑳戒繚瀛�
+                    btnFinifh.Enable = true;
+                    btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                };
                 rowLayout.MouseUpEventHandler += hander;
                 devicePic.MouseUpEventHandler += hander;
                 btnBindName.MouseUpEventHandler += hander;
@@ -593,7 +608,7 @@
                     btnFloorText.Text = dicFloorList[floorId];
 
                     //鑾峰彇妤煎眰涓埧闂村垪琛� 
-                    supportRoomList = GetFloorRoomList();
+                    supportRoomList = GetFloorRoomList(curFloorId);
                     if (!btnMethodText.IsSelected)
                     {
                         if (oldbutton != null)
@@ -653,21 +668,8 @@
 
                     //鑾峰彇妤煎眰
                     dicFloorList = HdlRoomLogic.Current.GetFloorSortList();
-                    curControlDev.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
-                    if (BindInfo.GetCurrentSelectFloorIdName() != null)
-                    {
-                        Application.RunOnMainThread(() =>
-                        {
-                            btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
-                        });
-                    }
-
                     //鑾峰彇妤煎眰涓埧闂村垪琛�
-                    supportRoomList = GetFloorRoomList();
-                    if (supportRoomList.Count == 0)
-                    {
-                        return;
-                    }
+                    supportRoomList = GetFloorRoomList(curControlDev.currentSelectFloorId);
 
                     //鑾峰彇鎵�鏈夋埧闂翠腑鍖归厤鐨勮兘缁戠殑鐩爣
                     currentPanelSupportBindDeviceList = GetAllRoomSupportDeviceList();
@@ -752,21 +754,56 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        if (supportRoomList.Count != 0)
-                        {
-                            RefreshRoomList();
-                        }
 
                         //棣栨鏄惁鑳界偣鍑讳繚瀛�
                         if (targetList.Count == 0)
                         {
+                            curControlDev.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
+                            if (BindInfo.GetCurrentSelectFloorIdName() != null)
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
+                                });
+                            }
                             btnFinifh.Enable = false;
                             btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                         }
                         else
                         {
+                            foreach (var dev in targetList)
+                            {
+                                //鑾峰彇鏈湴璁惧鍒楄〃 
+                                var localDeviceList = Shared.Common.LocalDevice.Current.listAllDevice;
+                                var tempDev = localDeviceList.Find(obj => obj.DeviceAddr == dev.DeviceAddr && obj.DeviceEpoint == dev.DeviceEpoint);
+                                if (tempDev != null)
+                                {
+                                    //鑾峰彇璁惧鎵�灞炴埧闂�
+                                    var tempDevRoom = HdlRoomLogic.Current.GetRoomByDevice(tempDev);
+                                    if (tempDevRoom != null)
+                                    {
+                                        curControlDev.currentSelectRoomId = tempDevRoom.Id;
+                                        curControlDev.currentSelectFloorId = tempDevRoom.FloorId;
+                                    }
+                                }
+                            }
+                            if (!string.IsNullOrEmpty(curControlDev.currentSelectFloorId))
+                            {
+                                if (BindInfo.GetBindTargetsFloorIdName(curControlDev.currentSelectFloorId) != null)
+                                {
+                                    btnFloorText.Text = BindInfo.GetBindTargetsFloorIdName(curControlDev.currentSelectFloorId);
+                                }
+                            }
+
                             btnFinifh.Enable = true;
                             btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                        }
+
+
+                        //鑾峰彇妤煎眰涓埧闂村垪琛�
+                        if (supportRoomList.Count != 0)
+                        {
+                            RefreshRoomList();
                         }
 
                         CommonPage.Loading.Hide();
@@ -1230,7 +1267,7 @@
         /// 鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂村垪琛�
         /// </summary>
         /// <returns></returns>
-        private List<Room> GetFloorRoomList()
+        private List<Room> GetFloorRoomList(string floorId)
         {
             supportRoomList.Clear();
             var supportRoomListTemp = new List<Room>();
@@ -1242,6 +1279,10 @@
                 {
                     if (string.IsNullOrEmpty(room.FloorId))
                     {
+                        if (room.FloorId != floorId)
+                        {
+                            continue;
+                        }
                         if (room.IsLove)
                         {
                             continue;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index 7a4303f..49dee07 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -132,7 +132,7 @@
         /// 闂ㄩ攣鏄惁鏀寔甯稿紑[杩欓噷鏆傛椂鍙湁S-One闂ㄩ攣鏀寔锛孒06C涓嶆敮鎸�, 鍚庢湡閫氳繃鑳藉姏鍊兼敮鎸乚
         /// </summary>
         /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> 
-        /// <returns></returns> 
+        /// <returns>true:鏀寔甯稿紑锛沠alse锛� 涓嶆敮鎸佸父寮�</returns> 
         public static bool CanNormallyOpen(ZigBee.Device.DoorLock doorLock)
         {
             var listDevice = new List<CommonDevice> { };
@@ -324,8 +324,7 @@
             };
         }
 
-    
-/// <summary>
+        /// <summary>
         /// 鍒犻櫎甯稿紑妯″紡
         /// </summary>
         /// <param name="doorLock">褰撳墠闂ㄩ攣</param>
@@ -351,8 +350,7 @@
             return false;
         }
 
-      
-         /// <summary>
+        /// <summary>
         /// 璁剧疆甯稿紑妯″紡
         /// </summary>
         /// <param name="doorLock">褰撳墠闂ㄩ攣</param>
@@ -375,6 +373,7 @@
             }
             return false;
         }
+
         /// <summary>
         /// 鍚姩甯稿紑妯″紡銆愬脊绐椼��
         /// </summary>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 37601a4..5673d8f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -1025,49 +1025,99 @@
         private async void NomallyOpenDialog()
         {
             #region 鍚庣画鐗堟湰
-            //if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-            //{
-            //    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
-            //    return;
-            //}
+            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+            {
+                this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+                return;
+            }
 
-            //if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
-            //{
-            //    SystemSecondAuthentication();
-            //    return;
-            //}
+            if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+            {
+                SystemSecondAuthentication();
+                return;
+            }
 
             action = () =>
             {
                 //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
-                if (doorLock == null)
+                var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
+                Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
+                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                functionSetting.Show();
+                // functionSetting.aaaAction = () =>
+                //{
+                //    UpdateNomallyOpenStatus();
+                //};
+            };
+            HdlCheckLogic.Current.CheckSecondarySecurity(action);
+            #endregion 
+
+            #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級
+            if (!btnNormallyOpen.IsSelected)
+            {
+                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                 {
-                    ///闃叉鎶涘紓甯�
+                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
                     return;
                 }
-                ///澶囨敞锛歐JC鐨�
-                Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
-                ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱
-                Common.Logic.LogicDviceList.Clear();
-                if (Common.Logic.LogicDviceList.Count == 0)
+
+                if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
                 {
-                    Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
+                    SystemSecondAuthentication();
+                    return;
                 }
-                var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
-                UserView.HomePage.Instance.AddChidren(addLogicPage);
-                UserView.HomePage.Instance.PageIndex += 1;
-                addLogicPage.Show();
-                addLogicPage.action += (w) =>
+
+                action = () =>
                 {
-                    doorLock.IsDoorLockNormallyMode = w;
-                    ///鐣欑粰寰愭鐢ㄧ殑
-                    UpdateNomallyOpenStatus();
+                    string msg = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n");
+                    var confirm = Language.StringByID(R.MyInternationalizationString.Confrim);
+                    var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm);
+                    alert.Show();
+
+                    alert.ConfirmClickEvent += async () =>
+                    {
+                        Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
+                        var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
+                        if (result == null || result.defaultControlResponseData == null)
+                        {
+                            string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+                            this.ShowTipMsg(msg0);
+                            return;
+                        }
+                        if (result.defaultControlResponseData.status != 0)
+                        {
+                            string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
+                            this.ShowTipMsg(msg1);
+                            return;
+                        }
+                        else
+                        {
+                            //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
+                            HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty);
+
+                            //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂
+                            DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
+                            DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
+                            Application.RunOnMainThread(() =>
+                            {
+                                UpdateNomallyOpenStatus();
+                                CommonPage.Loading.Hide();
+                            });
+
+                            //甯稿紑妯″紡寮�鍚彁绀�
+                            AlreadyOpenNormallyMode();
+                        }
+                    };
+
                 };
-            };
-            //HdlCheckLogic.Current.CheckSecondarySecurity(action);
+                HdlCheckLogic.Current.CheckSecondarySecurity(action);
+            }
+            else
+            {
+                NomallyOpenModeInvalidDialog();
+            }
+
             #endregion
-
-
         }
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
index 3cc5d12..104c55f 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs
@@ -3111,7 +3111,8 @@
                     await RemoteMqttClient.DisconnectAsync();
                 }
             }
-            catch(Exception e) { 
+            catch (Exception e)
+            {
                 DebugPrintLog($"Remote鏂紑閫氳杩炴帴鍑哄紓甯�:{e.Message}");
             }
         }
@@ -3336,7 +3337,8 @@
                 {
                     return;
                 }
-                if (topics[2]== "NotifyGateWayInfoChange") {
+                if (topics[2] == "NotifyGateWayInfoChange")
+                {
                     initGateWayBaseInfomation();
                     return;
                 }
diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs
index 11d8f17..f8f7b41 100755
--- a/ZigbeeApp/Shared/R.cs
+++ b/ZigbeeApp/Shared/R.cs
@@ -562,6 +562,10 @@
         /// 鑳屽厜鐏鑹�
         /// </summary>
         public const int BackgroundLightColor = 312;
+        /// <summary>
+        /// PM2.5鎰熷櫒 -> 闀挎寜鍥剧ず鎸夐敭5绉掍互涓婏紝淇″彿鍥炬爣{0}蹇棯锛� 杩涘叆閰嶇綉鐘舵�併�備俊鍙峰浘鏍囧父浜垯閰嶇綉鎴愬姛
+        /// </summary>
+        public const int AddSensorPMMsg = 313;
 
         public readonly static int cancel = 5097;
         public readonly static int confrim = 5098;
@@ -5742,6 +5746,10 @@
         /// 甯稿紑鑷姩鍖栨墜鍔ㄥ彇娑�
         /// </summary>
         public const int uNormallyOpenLogicManualClose = 16115;
+        /// <summary>
+        /// 娓稿浣撻獙
+        /// </summary>
+        public const int uExperienceAccount = 16116;
 
 
         //鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
@@ -6327,5 +6335,9 @@
         /// 鍚搁《鐕冩皵浼犳劅鍣�
         /// </summary>
         public const int uDeviceDirectionName26 = 70025;
+        /// <summary>
+        /// PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
+        /// </summary>
+        public const int uDeviceDirectionName27 = 70026;
     }
 }
diff --git a/ZigbeeApp/Shared/Shared.projitems b/ZigbeeApp/Shared/Shared.projitems
index caac832..db6ed67 100755
--- a/ZigbeeApp/Shared/Shared.projitems
+++ b/ZigbeeApp/Shared/Shared.projitems
@@ -192,6 +192,7 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorFireDirectionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorInfraredDirectionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorPirDirectionForm.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorPMTwoPointFiveForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorTemperatureHumidityForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Direction\SensorWaterDirectionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelBackLighWithSensorForm.cs" />
@@ -201,7 +202,6 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelFangyueEnvironmentTargetForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelFangyueFreshAirBackLightSettionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelFangyueFreshAirButtonSettionForm.cs" />
-    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelFangyueFreshAirTargetForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelFangyueFreshAirTargetsForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\Panel\PanelFangyueFunctionSettionForm.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\Device\PirSensor\PirSensorDimmingModeForm.cs" />

--
Gitblit v1.8.0