From 23420922845c9e77019a55c3b3e3271eb1ec261e Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 13 七月 2020 11:42:18 +0800
Subject: [PATCH] 新版本

---
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/60_60.png                                         |    0 
 ZigbeeApp/Home.Ios/AppDelegate.cs                                                                       |  180 +++-
 ZigbeeApp/GateWay.Droid/Assets/Language.ini                                                             |    7 
 ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionDirectoryListForm.cs                             |   14 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs                 |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs                                           |   15 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_1136.png                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs                                     |   71 +
 ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs                                                         |    5 
 ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs                                                     |   22 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/180_180.png                                       |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_960-1.png                                |    0 
 ZigbeeApp/Shared/Phone/UserView/UserPage.cs                                                             |   30 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58_58.png                                         |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs                                           |   10 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40-1.png                                       |    0 
 ZigbeeApp/Shared/Phone/Category/AdjustTargetAddSceneForm.cs                                             |   83 +
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/152_152.png                                       |    0 
 ZigbeeApp/Shared/Phone/MainPage/Controls/SceneCardControl.cs                                            |   15 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs                                      |   72 -
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs                                       |   33 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs                                  |   13 
 ZigbeeApp/Home.Ios/mono_crash.115869ea88.0.json                                                         |  152 +-
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120_120-1.png                                     |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2008.png                                |    0 
 ZigbeeApp/Home.Ios/ESVideo.cs                                                                           |   84 +
 ZigbeeApp/Shared/Phone/Device/VideoIntercom/VideoMachine.cs                                             |  275 ++++++
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs                                   |    8 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2048-1.png                              |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242_2208-1.png                              |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/167_167.png                                       |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_960.png                                  |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_768-1.png                               |    0 
 ZigbeeApp/Home.Ios/Resources/Phone/Item/SynchronizationSelected.png                                     |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SynchronizationSelected.png                                   |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/MutilfunctionPanelMethod.cs                               |   60 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercom.png                                             |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2688_1242.png                                |    0 
 ZigbeeApp/Home.Ios/Info.plist                                                                           |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs                                          |    2 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/76_76.png                                         |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1536-1.png                              |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242_2688_XS Max.png                         |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1792_828.png                                 |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1496.png                                |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1024-1.png                               |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/20_20.png                                         |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs                                        |    4 
 ZigbeeApp/Shared/Shared.projitems                                                                       |    1 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1004.png                                 |    0 
 ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs                                                 |    4 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightFloorMenuControl.cs      |   10 
 ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs                                                  |    9 
 ZigbeeApp/Shared/DLL/IOS/Shared.IOS.ESVideoPhoneSDK.dll                                                 |    0 
 ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercomNext.png                                         |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/828_1792_XR.png                              |    0 
 ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs                                           |   24 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/320_480.png                                  |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs                                |    2 
 ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs                                                      |   29 
 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj                                                            |    9 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120_120.png                                       |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs                                    |    2 
 ZigbeeApp/Shared/Common/CommonPage.cs                                                                   |    2 
 ZigbeeApp/Shared/Phone/Device/Logic/Send.cs                                                             |    8 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleMutilfunctionAddTargetsForm.cs                |  201 ---
 ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs                                                     |   41 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_768.png                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlResidenceLogic.cs                                 |    2 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/87_87.png                                         |    0 
 ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml                                                  |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs                                               |   11 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs                                      |   30 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs                                    |  608 +++++++------
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/29_29.png                                         |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_1136-1.png                               |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40.png                                         |    0 
 ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercom.png                                               |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs                                           |   13 
 ZigbeeApp/Shared/Phone/MainPage/LeftListRoomViewFrom.cs                                                 |   19 
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs                                        |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleEnvironmentButtonSettionForm.cs               |   20 
 ZigbeeApp/Home.Ios/MainViewController.cs                                                                |    6 
 ZigbeeApp/Home.Ios/Resources/Language.ini                                                               |    6 
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs                 |    5 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_2732-1.png                              |    0 
 ZigbeeApp/Home.Ios/Home.IOS.csproj                                                                      |    7 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_748.png                                 |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1536.png                                |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58_58-1.png                                       |    0 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs                                      |    2 
 ZigbeeApp/Shared/R.cs                                                                                   |   19 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/1024_1024.png                                     |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs                         |    2 
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80_80-1.png                                       |    0 
 ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDeviceForm.cs                                            |   96 +
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40-2.png                                       |    0 
 ZigbeeApp/Shared/Common/Device.cs                                                                       |   86 +
 ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80_80.png                                         |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2048.png                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs                                   |    2 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs                                     |    2 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1024.png                                 |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2436_1125.png                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs                                     |    8 
 ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs                                              |    9 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1125_2436.png                                |    0 
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs                                      |   13 
 ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs                                                    |  107 ++
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2208_1242.png                                |    0 
 ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/750_1334.png                                 |    0 
 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs                             |    2 
 ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs                                    |    4 
 ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercomNext.png                                           |    0 
 ZigbeeApp/Shared/Common/House.cs                                                                        |   27 
 116 files changed, 1,753 insertions(+), 860 deletions(-)

diff --git a/ZigbeeApp/GateWay.Droid/Assets/Language.ini b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
old mode 100755
new mode 100644
index bb3d578..c9a3528
--- a/ZigbeeApp/GateWay.Droid/Assets/Language.ini
+++ b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -337,6 +337,8 @@
 333=涓嶇粦瀹氫换浣曠洰鏍�
 334= 鐫$湢鏃堕棿
 335=璀﹀憡锛佹暟鎹嚭閿欙紝蹇呴』鍒锋柊鍒楄〃锛屽惁鍒欐帶鍒剁幇璞¢敊涔�
+336=鍚屾
+337=鍚屾澶辫触
 
 5097=鍙栨秷
 5098=纭畾
@@ -625,6 +627,10 @@
 5411=鏆梴\r\n} 0lux
 5412=浜畕\r\n} 100lux
 5413=鍦ㄥ鍐呮潯浠朵笅,榛戞殫鐓у害鍊肩害涓�0.02lux,榛勬槒鐓у害鍊納\r\n}绾︿负10lux,闃村ぉ鐓у害鍊肩害涓�5~50lux,璇锋牴鎹疄闄厈\r\n}闇�瑕佽繘琛岃皟鑺�
+5414=鍙瀵硅
+5415=鏍�
+5416=鍗曞厓
+5417=瀹ゅ鏈�
 
 
 
@@ -1867,6 +1873,7 @@
 16134=璁剧疆璁惧鍔熻兘绫诲瀷澶辫触
 16135=鑾峰彇鍦烘櫙鍒楄〃澶辫触,缃戝叧鍥炲瓒呮椂
 16136=闇�閲嶆柊缁戝畾
+16137=鍑虹幇鎰忓鎯呭喌,鏁版嵁涓㈠け
 
 ;鈽呪槄鈽呪槄涓嬮潰杩欎簺鏄帴鍙g殑杩斿洖淇℃伅缈昏瘧,浠�18000寮�濮嬧槄鈽呪槄鈽�
 18004=鎸囧畾缃戝叧宸茬粡琚粦瀹�
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SynchronizationSelected.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SynchronizationSelected.png
new file mode 100755
index 0000000..f3c2262
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/SynchronizationSelected.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercom.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercom.png
new file mode 100755
index 0000000..5adf153
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercom.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercomNext.png b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercomNext.png
new file mode 100755
index 0000000..df52c60
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/Phone/Item/videoIntercomNext.png
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
index 1899ef6..d986e89 100644
--- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
+++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
@@ -2320,6 +2320,15 @@
   <ItemGroup>
     <AndroidAsset Include="Assets\Phone\Item\BatterySelected.png" />
   </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Item\videoIntercom.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Item\videoIntercomNext.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidAsset Include="Assets\Phone\Item\SynchronizationSelected.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 f26006a..76a3a2b 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="0120070901" android:installLocation="auto" android:versionName="1.1.0120070901">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hdl.home" android:versionCode="0120071301" android:installLocation="auto" android:versionName="1.1.0120071301">
 	<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/AppDelegate.cs b/ZigbeeApp/Home.Ios/AppDelegate.cs
old mode 100644
new mode 100755
index 0498c00..5f7c60e
--- a/ZigbeeApp/Home.Ios/AppDelegate.cs
+++ b/ZigbeeApp/Home.Ios/AppDelegate.cs
@@ -53,26 +53,42 @@
                         NSString key_hiddenJson = new NSString("HiddenJson");
                         if (userInfo.ContainsKey(key_hiddenJson))
                         {
-                            NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary;
-                            if (hiddenJsonDic != null)
-                            {
-                                NSString key_Offline = new NSString("Offline");
-                                if (hiddenJsonDic.ContainsKey(key_Offline))
-                                {
-                                    string signOut = hiddenJsonDic["Offline"].ToString();
-
-                                    if (signOut == "0")
+                            var hiddenJson = userInfo["HiddenJson"].ToString();
+                            if (!string.IsNullOrEmpty(hiddenJson))
+                            {
+                                if (hiddenJson.Contains("cmtID"))
+                                {
+                                    
+                                        ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹�
+                                       // VideoMethod(hiddenJson);
+                                }
+                                else
+                                {
+
+                                    NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary;
+                                    if (hiddenJsonDic != null)
                                     {
-                                        //涓嶄笅绾�
-                                    }
-                                    else
-                                    {
-                                        //鏍囪涓嬬嚎
-                                        haveToSignOut = true;
-                                    }
-                                }
+                                        NSString key_Offline = new NSString("Offline");
+                                        if (hiddenJsonDic.ContainsKey(key_Offline))
+                                        {
+                                            string signOut = hiddenJsonDic["Offline"].ToString();
 
+                                            if (signOut == "0")
+                                            {
+                                                //涓嶄笅绾�
+                                            }
+                                            else
+                                            {
+                                                //鏍囪涓嬬嚎
+                                                haveToSignOut = true;
+                                            }
+                                        }
+
+                                    }
+                                }
                             }
+
+                           
                         }
 
                     }
@@ -100,25 +116,41 @@
                 NSString key_hiddenJson = new NSString("HiddenJson");
                 if (userInfo.ContainsKey(key_hiddenJson))
                 {
-                    NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary;
-                    if (hiddenJsonDic == null)
-                    {
-                        return;
-                    }
-                    NSString key_Offline = new NSString("Offline");
-                    if (hiddenJsonDic.ContainsKey(key_Offline))
-                    {
-                        string signOut = hiddenJsonDic["Offline"].ToString();
-
-                        if (signOut == "0")
+                    var hiddenJson = userInfo["HiddenJson"].ToString();
+                    if (string.IsNullOrEmpty(hiddenJson))
+                    {
+                        return;
+                    }
+
+                    if (hiddenJson.Contains("cmtID"))
+                    {
+
+                        ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹�
+                        VideoMethod(hiddenJson);
+                    }
+                    else
+                    {
+
+                        NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary;
+                        if (hiddenJsonDic == null)
                         {
-                            //涓嶄笅绾�
+                            return;
                         }
-                        else
+                        NSString key_Offline = new NSString("Offline");
+                        if (hiddenJsonDic.ContainsKey(key_Offline))
                         {
-                            //寮哄埗涓嬬嚎
-                            CommonPage.Instance.SingOut();
-                            CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.uHadBeenLoginAndOffLine);
+                            string signOut = hiddenJsonDic["Offline"].ToString();
+
+                            if (signOut == "0")
+                            {
+                                //涓嶄笅绾�
+                            }
+                            else
+                            {
+                                //寮哄埗涓嬬嚎
+                                CommonPage.Instance.SingOut();
+                                CommonPage.Instance.ShowErrorInfoAlert(Shared.R.MyInternationalizationString.uHadBeenLoginAndOffLine);
+                            }
                         }
                     }
                 }
@@ -128,30 +160,82 @@
                 NSString key_hiddenJson = new NSString("HiddenJson");
                 if (userInfo.ContainsKey(key_hiddenJson))
                 {
-                    NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary;
-                    if (hiddenJsonDic == null)
-                    {
-                        return;
-                    }
-                    NSString key_Offline = new NSString("Offline");
-                    if (hiddenJsonDic.ContainsKey(key_Offline))
-                    {
-                        string signOut = hiddenJsonDic["Offline"].ToString();
-
-                        if (signOut == "0")
+
+                    var hiddenJson = userInfo["HiddenJson"].ToString();
+                    if (string.IsNullOrEmpty(hiddenJson)) {
+                        return;
+                    }
+
+                    if (hiddenJson.Contains("cmtID"))
+                    {
+                        ///鐩墠鏍规嵁杩欎釜鍒ゆ柇鏄惁鏄彲瑙嗗璁叉暟鎹�
+                        VideoMethod(hiddenJson);
+                    }
+                    else
+                    {
+
+                        NSDictionary hiddenJsonDic = userInfo["HiddenJson"] as NSDictionary;
+                        if (hiddenJsonDic == null)
                         {
-                            //涓嶄笅绾�
+                            return;
                         }
-                        else
+                        NSString key_Offline = new NSString("Offline");
+                        if (hiddenJsonDic.ContainsKey(key_Offline))
                         {
-                            //鏍囪涓嬬嚎
-                            haveToSignOut = true;
+                            string signOut = hiddenJsonDic["Offline"].ToString();
+
+                            if (signOut == "0")
+                            {
+                                //涓嶄笅绾�
+                            }
+                            else
+                            {
+                                //鏍囪涓嬬嚎
+                                haveToSignOut = true;
+                            }
                         }
                     }
                 }
 
             }
             completionHandler(UIBackgroundFetchResult.NewData);
+        }
+        /// <summary>
+        /// ios閫氱煡鏍忕偣鍑绘墦寮�鍙瀵硅鐨勬柟娉�
+        /// </summary>
+        /// <param name="hiddenJson">浜戠鎺ㄨ繃鏉ョ殑鏁版嵁</param>
+        private  void VideoMethod(string hiddenJson)
+        {
+
+            var json = Newtonsoft.Json.Linq.JObject.Parse(hiddenJson);
+            if (json == null)
+            {
+                return;
+            }
+            GateWay.Ios.ESVideoInfo eSVideoInfo = new GateWay.Ios.ESVideoInfo();
+            if (json["uuid"].ToString().Contains(","))
+            {
+                var uuid = json["uuid"].ToString().Split(',');
+                eSVideoInfo.ESVideoUUID = uuid[0];
+            }
+            else
+            {
+                eSVideoInfo.ESVideoUUID = json["uuid"].ToString();
+            }
+
+            eSVideoInfo.DeviceName = Language.StringByID(Shared.R.MyInternationalizationString.theOutdoorUnit);
+            eSVideoInfo.ESRoomID = int.Parse(json["roomno"].ToString());
+            if (!string.IsNullOrEmpty(json["unitno"].ToString()))
+            {
+                string str = json["unitno"].ToString();
+                string str1 = str.Substring(0, 2).TrimStart('0');
+                string str2 = str.Substring(2, 2).TrimStart('0');
+                eSVideoInfo.RoomName = str1 + Language.StringByID(Shared.R.MyInternationalizationString.dong) + str2 + Language.StringByID(Shared.R.MyInternationalizationString.unit);
+            }
+            GateWay.Ios.ESVideo.ShowESvideoVideoIntercom(eSVideoInfo);
+
+            //var url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/VideoIntercom/Answer";
+            //var dd=await Shared.Phone.Device.Logic.Send.HttpWebRequest(url, json.ToString(), "POST", 3, true);
         }
 
         public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo)
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/1024*1024.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/1024_1024.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/1024*1024.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/1024_1024.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120*120-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120_120-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120*120-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120_120-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120*120.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120_120.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120*120.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/120_120.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/152*152.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/152_152.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/152*152.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/152_152.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/167*167.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/167_167.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/167*167.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/167_167.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/180*180.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/180_180.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/180*180.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/180_180.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/20*20.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/20_20.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/20*20.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/20_20.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/29*29.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/29_29.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/29*29.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/29_29.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40*40-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40*40-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40*40-2.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40-2.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40*40-2.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40-2.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40*40.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40*40.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/40_40.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58*58-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58_58-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58*58-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58_58-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58*58.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58_58.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58*58.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/58_58.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/60*60.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/60_60.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/60*60.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/60_60.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/76*76.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/76_76.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/76*76.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/76_76.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80*80-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80_80-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80*80-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80_80-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80*80.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80_80.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80*80.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/80_80.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/87*87.png b/ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/87_87.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/87*87.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/AppIcon.appiconset/87_87.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024*748.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_748.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024*748.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_748.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024*768-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_768-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024*768-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_768-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024*768.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_768.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024*768.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1024_768.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1125*2436.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1125_2436.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1125*2436.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1125_2436.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242*2208-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242_2208-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242*2208-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242_2208-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242*2688_XS Max.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242_2688_XS Max.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242*2688_XS Max.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1242_2688_XS Max.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536*2008.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2008.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536*2008.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2008.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536*2048-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2048-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536*2048-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2048-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536*2048.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2048.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536*2048.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1536_2048.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1792*828.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1792_828.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1792*828.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/1792_828.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*1496.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1496.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*1496.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1496.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*1536-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1536-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*1536-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1536-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*1536.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1536.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*1536.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_1536.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*2732-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_2732-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048*2732-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2048_2732-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2208*1242.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2208_1242.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2208*1242.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2208_1242.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2436*1125.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2436_1125.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2436*1125.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2436_1125.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2688*1242.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2688_1242.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2688*1242.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/2688_1242.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/320*480.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/320_480.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/320*480.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/320_480.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*1136-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_1136-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*1136-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_1136-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*1136.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_1136.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*1136.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_1136.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*960-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_960-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*960-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_960-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*960.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_960.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640*960.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/640_960.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/750*1334.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/750_1334.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/750*1334.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/750_1334.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768*1004.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1004.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768*1004.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1004.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768*1024-1.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1024-1.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768*1024-1.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1024-1.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768*1024.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1024.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768*1024.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/768_1024.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/828*1792_XR.png b/ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/828_1792_XR.png
old mode 100644
new mode 100755
similarity index 100%
rename from ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/828*1792_XR.png
rename to ZigbeeApp/Home.Ios/Assets.xcassets/LaunchImage.launchimage/828_1792_XR.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/ESVideo.cs b/ZigbeeApp/Home.Ios/ESVideo.cs
new file mode 100755
index 0000000..9045787
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/ESVideo.cs
@@ -0,0 +1,84 @@
+锘縰sing System;
+using Shared.IOS.ESVideoPhoneSDK;
+
+namespace GateWay.Ios
+{
+	public static class ESVideo
+	{
+		//public ESVideo()
+		//{
+
+		//}
+
+		public static void InitESVideoSDK()
+		{
+			ESVideo.InitESVideoSDK();
+		}
+
+		/// <summary>
+		/// 鐩戞帶椤甸潰
+		/// </summary>
+		/// <param name="mESVideoInfo"></param>
+		public static void ShowESVideoMonitor(ESVideoInfo mESVideoInfo)
+		{
+			ESVideoMonitorViewController mESVideoMonitorViewController = new ESVideoMonitorViewController();
+
+			mESVideoMonitorViewController.MESVideoID = mESVideoInfo.ESVideoUUID;
+			mESVideoMonitorViewController.MESRoomID = mESVideoInfo.ESRoomID;
+			mESVideoMonitorViewController.DeviceName = mESVideoInfo.DeviceName;
+			mESVideoMonitorViewController.RoomName = mESVideoInfo.RoomName;
+			mESVideoMonitorViewController.IsCollect = mESVideoInfo.IsCollect;
+
+			Shared.Application.currentVC.NavigationController.PushViewController(mESVideoMonitorViewController, true);
+		}
+
+
+
+		/// <summary>
+		/// 琚懠鍙〉闈�
+		/// </summary>
+		/// <param name="mESVideoInfo"></param>
+		public static void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo)
+		{
+			ESvideoVideoIntercomViewController mESvideoVideoIntercomViewController = new ESvideoVideoIntercomViewController();
+			mESvideoVideoIntercomViewController.MESVideoID = mESVideoInfo.ESVideoUUID;
+			mESvideoVideoIntercomViewController.MESRoomID = mESVideoInfo.ESRoomID;
+			mESvideoVideoIntercomViewController.DeviceName = mESVideoInfo.DeviceName;
+			mESvideoVideoIntercomViewController.RoomName = mESVideoInfo.RoomName;
+			mESvideoVideoIntercomViewController.IsCollect = mESVideoInfo.IsCollect;
+
+			Shared.Application.currentVC.NavigationController.PushViewController(mESvideoVideoIntercomViewController, true);
+		}
+	}
+
+    public class ESVideoInfo
+    {
+        /// <summary>
+        /// 瀹ゅ鏈虹殑UUID
+        /// 渚嬶細JJY000007FSEYX
+        /// </summary>
+        public string ESVideoUUID=string.Empty;
+        /// <summary>
+        /// 褰撳墠鐢ㄦ埛鐨勬埧闂碔D
+        /// 渚嬶細0801
+        /// </summary>
+        public int ESRoomID;
+        /// <summary>
+        /// 瀹ゅ鏈虹殑鍚嶇О
+        /// 渚嬶細瀹ゅ鏈�
+        /// </summary>
+        public string DeviceName = string.Empty;
+        /// <summary>
+        /// 鎴块棿鍛藉悕
+        /// 渚嬶細8鏍�1鍗曞厓0801
+        /// </summary>
+        public string RoomName = string.Empty;
+        /// <summary>
+        /// 鏄惁鏀惰棌
+        /// </summary>
+        public bool IsCollect;
+
+    }
+
+
+}
diff --git a/ZigbeeApp/Home.Ios/Home.IOS.csproj b/ZigbeeApp/Home.Ios/Home.IOS.csproj
index 0a54106..3ff7737 100644
--- a/ZigbeeApp/Home.Ios/Home.IOS.csproj
+++ b/ZigbeeApp/Home.Ios/Home.IOS.csproj
@@ -87,6 +87,9 @@
           <HintPath>..\packages\BouncyCastle.Crypto.dll.1.8.1\lib\BouncyCastle.Crypto.dll</HintPath>
         </Reference>
         <Reference Include="System.Net.Http" />
+        <Reference Include="Shared.IOS.ESVideoPhoneSDK">
+          <HintPath>..\Shared\DLL\IOS\Shared.IOS.ESVideoPhoneSDK.dll</HintPath>
+        </Reference>
     </ItemGroup>
     <ItemGroup>
       <PackageReference Include="Xamarin.Essentials" Version="1.2.0" />
@@ -132,6 +135,7 @@
         <Compile Include="ViewControllerBase.cs" />
         <Compile Include="Reachability.cs" />
         <Compile Include="ZXingOverlayView.cs" />
+        <Compile Include="ESVideo.cs" />
     </ItemGroup>
     <ItemGroup>
       <ProjectReference Include="..\Elian.iOS\Elian.iOS.csproj">
@@ -562,6 +566,7 @@
       <BundleResource Include="Resources\Phone\Item\ShardMenu.png" />
       <BundleResource Include="Resources\Phone\Item\UnLockFail.png" />
       <BundleResource Include="Resources\Phone\Item\ProgressMsg.png" />
+      <BundleResource Include="Resources\Phone\Item\SynchronizationSelected.png" />
       <BundleResource Include="Resources\Phone\Item\BottomButtonGround.png" />
       <BundleResource Include="Resources\Phone\Item\AutoBackup.png" />
       <BundleResource Include="Resources\Phone\Item\BatterySelected.png" />
@@ -581,7 +586,9 @@
       <BundleResource Include="Resources\Phone\Item\GwSwitchIcon.png" />
       <BundleResource Include="Resources\Phone\Item\DeleteIcon1.png" />
       <BundleResource Include="Resources\Phone\Item\HouseSelected.png" />
+      <BundleResource Include="Resources\Phone\Item\videoIntercomNext.png" />
       <BundleResource Include="Resources\Phone\Item\Floor.png" />
+      <BundleResource Include="Resources\Phone\Item\videoIntercom.png" />
       <BundleResource Include="Resources\Phone\Item\MinusSign2.png" />
       <BundleResource Include="Resources\Phone\Item\NotAuthority.png" />
       <BundleResource Include="Resources\Phone\Item\IndoorUnitGround.png" />
diff --git a/ZigbeeApp/Home.Ios/Info.plist b/ZigbeeApp/Home.Ios/Info.plist
index ed1176d..6e30abb 100755
--- a/ZigbeeApp/Home.Ios/Info.plist
+++ b/ZigbeeApp/Home.Ios/Info.plist
@@ -85,5 +85,7 @@
 		<string>location</string>
 		<string>remote-notification</string>
 	</array>
+	<key>NSMicrophoneUsageDescription</key>
+	<string>闇�瑕佷娇鐢ㄩ害鍏嬮锛岀敤浜庡彲瑙嗗璁�</string>
 </dict>
 </plist>
diff --git a/ZigbeeApp/Home.Ios/MainViewController.cs b/ZigbeeApp/Home.Ios/MainViewController.cs
index 8304520..902e55c 100644
--- a/ZigbeeApp/Home.Ios/MainViewController.cs
+++ b/ZigbeeApp/Home.Ios/MainViewController.cs
@@ -83,15 +83,15 @@
             internetStatus = Reachability.InternetConnectionStatus();
             if (internetStatus == NetworkStatus.NotReachable)//娌℃湁缃戠粶杩炴帴 0
             {
-                Shared.Common.CommonPage.nowNetworkMode = 0;
+                //Shared.Common.CommonPage.nowNetworkMode = 0;
             }
             else if (internetStatus == NetworkStatus.ReachableViaCarrierDataNetwork)//3,4G鐨勭綉缁滆繛鎺� 1
             {
-                Shared.Common.CommonPage.nowNetworkMode = 1;
+                //Shared.Common.CommonPage.nowNetworkMode = 1;
             }
             else if (internetStatus == NetworkStatus.ReachableViaWiFiNetwork)
             { //wifi鐨勭綉缁滆繛鎺� 2
-                Shared.Common.CommonPage.nowNetworkMode = 2;
+                //Shared.Common.CommonPage.nowNetworkMode = 2;
             }
         }
     }
diff --git a/ZigbeeApp/Home.Ios/Resources/Language.ini b/ZigbeeApp/Home.Ios/Resources/Language.ini
index bb3d578..093e27f 100755
--- a/ZigbeeApp/Home.Ios/Resources/Language.ini
+++ b/ZigbeeApp/Home.Ios/Resources/Language.ini
@@ -337,6 +337,8 @@
 333=涓嶇粦瀹氫换浣曠洰鏍�
 334= 鐫$湢鏃堕棿
 335=璀﹀憡锛佹暟鎹嚭閿欙紝蹇呴』鍒锋柊鍒楄〃锛屽惁鍒欐帶鍒剁幇璞¢敊涔�
+336=鍚屾
+337=鍚屾澶辫触
 
 5097=鍙栨秷
 5098=纭畾
@@ -625,6 +627,10 @@
 5411=鏆梴\r\n} 0lux
 5412=浜畕\r\n} 100lux
 5413=鍦ㄥ鍐呮潯浠朵笅,榛戞殫鐓у害鍊肩害涓�0.02lux,榛勬槒鐓у害鍊納\r\n}绾︿负10lux,闃村ぉ鐓у害鍊肩害涓�5~50lux,璇锋牴鎹疄闄厈\r\n}闇�瑕佽繘琛岃皟鑺�
+5414=鍙瀵硅
+5415=鏍�
+5416=鍗曞厓
+5417=瀹ゅ鏈�
 
 
 
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/SynchronizationSelected.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SynchronizationSelected.png
new file mode 100755
index 0000000..f3c2262
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/SynchronizationSelected.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercom.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercom.png
new file mode 100755
index 0000000..5adf153
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercom.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercomNext.png b/ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercomNext.png
new file mode 100755
index 0000000..df52c60
--- /dev/null
+++ b/ZigbeeApp/Home.Ios/Resources/Phone/Item/videoIntercomNext.png
Binary files differ
diff --git a/ZigbeeApp/Home.Ios/mono_crash.115869ea88.0.json b/ZigbeeApp/Home.Ios/mono_crash.115869ea88.0.json
index 759f137..11af46f 100644
--- a/ZigbeeApp/Home.Ios/mono_crash.115869ea88.0.json
+++ b/ZigbeeApp/Home.Ios/mono_crash.115869ea88.0.json
@@ -15,13 +15,13 @@
     "suspend" : "hybrid"
   },
   "memory" : {
-    "Resident Size" : "156639232",
-    "Virtual Size" : "4818821120",
-    "minor_gc_time" : "3344349",
-    "major_gc_time" : "1878887",
-    "minor_gc_count" : "4",
-    "major_gc_count" : "8",
-    "major_gc_time_concurrent" : "0"
+    "Resident Size" : "181604352",
+    "Virtual Size" : "4929044480",
+    "minor_gc_time" : "2036527",
+    "major_gc_time" : "156293362",
+    "minor_gc_count" : "13",
+    "major_gc_count" : "873",
+    "major_gc_time_concurrent" : "3505547"
  },
   "threads" : [
  {
@@ -29,72 +29,72 @@
     "offset_free_hash" : "0x0",
     "offset_rich_hash" : "0x0",
     "crashed" : false,
-    "native_thread_id" : "0x70000685a000",
-    "thread_info_addr" : "0x7fea5c83bc00",
+    "native_thread_id" : "0x700003271000",
+    "thread_info_addr" : "0x7f98c903a000",
     "thread_name" : "Finalizer",
     "ctx" : {
-      "IP" : "0x7fff61571266",
-      "SP" : "0x700006859da8",
-      "BP" : "0x700006859e50"
+      "IP" : "0x7fff77af4266",
+      "SP" : "0x700003270da8",
+      "BP" : "0x700003270e50"
   },
     "unmanaged_frames" : [
   {
       "is_managed" : "false",
-      "native_address" : "0x10ff50156",
+      "native_address" : "0x10c9d2156",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f6775",
+      "native_address" : "0x10cb78775",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f64a7",
+      "native_address" : "0x10cb784a7",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x10ffbaf3c",
+      "native_address" : "0x10ca3cf3c",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fff61627b5d",
+      "native_address" : "0x7fff77baab5d",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fea5be0c040",
+      "native_address" : "0x30",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f7373",
+      "native_address" : "0x10cb79373",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fff616302eb",
+      "native_address" : "0x7fff77bb32eb",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fff61633249",
+      "native_address" : "0x7fff77bb6249",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fff6162f40d",
+      "native_address" : "0x7fff77bb240d",
       "native_offset" : "0x00000"
    }
 
@@ -105,90 +105,90 @@
     "offset_free_hash" : "0x0",
     "offset_rich_hash" : "0x0",
     "crashed" : false,
-    "native_thread_id" : "0x11281b5c0",
-    "thread_info_addr" : "0x7fea5c801800",
+    "native_thread_id" : "0x110e995c0",
+    "thread_info_addr" : "0x7f98c9006000",
     "thread_name" : "tid_307",
     "ctx" : {
-      "IP" : "0x7fff6157486a",
-      "SP" : "0x7ffedfd62c98",
-      "BP" : "0x7ffedfd62d20"
+      "IP" : "0x7fff77af786a",
+      "SP" : "0x7ffee32e0c98",
+      "BP" : "0x7ffee32e0d20"
   },
     "unmanaged_frames" : [
   {
       "is_managed" : "false",
-      "native_address" : "0x10ff50156",
+      "native_address" : "0x10c9d2156",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f6775",
+      "native_address" : "0x10cb78775",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f64a7",
+      "native_address" : "0x10cb784a7",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x10ffbaf3c",
+      "native_address" : "0x10ca3cf3c",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fff61627b5d",
+      "native_address" : "0x7fff77baab5d",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x10ff525b6",
+      "native_address" : "0x10c9d45b6",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1101a07c0",
+      "native_address" : "0x10cc227c0",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1101bb2e1",
+      "native_address" : "0x10cc3d2e1",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f3774",
+      "native_address" : "0x10cb75774",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x1100f358a",
+      "native_address" : "0x10cb7558a",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x10ff156c2",
+      "native_address" : "0x10c9976c2",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x10fe9f848",
+      "native_address" : "0x10c921848",
       "native_offset" : "0x00000"
    }
 ,
   {
       "is_managed" : "false",
-      "native_address" : "0x7fff6143c3d5",
+      "native_address" : "0x7fff779bf3d5",
       "native_offset" : "0x00000"
    }
 
@@ -199,13 +199,13 @@
     "offset_free_hash" : "0x115869ea88",
     "offset_rich_hash" : "0x115869ee42",
     "crashed" : true,
-    "native_thread_id" : "0x700006fec000",
-    "thread_info_addr" : "0x7fea5c45ac00",
+    "native_thread_id" : "0x700003980000",
+    "thread_info_addr" : "0x7f98c94d5600",
     "thread_name" : "Thread Pool Worker",
     "ctx" : {
-      "IP" : "0x7fff615772c6",
-      "SP" : "0x700006fea548",
-      "BP" : "0x700006fea580"
+      "IP" : "0x7fff77afa2c6",
+      "SP" : "0x70000397e548",
+      "BP" : "0x70000397e580"
   },
     "managed_frames" : [
   {
@@ -486,115 +486,115 @@
   "unmanaged_frames" : [
  {
     "is_managed" : "false",
-    "native_address" : "0x10ff50156",
+    "native_address" : "0x10c9d2156",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100f6775",
+    "native_address" : "0x10cb78775",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100f6dfa",
+    "native_address" : "0x10cb78dfa",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x10ffbbf46",
+    "native_address" : "0x10ca3df46",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x10ff54c65",
+    "native_address" : "0x10c9d6c65",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x10ffbb2db",
+    "native_address" : "0x10ca3d2db",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x7fff61627b5d",
+    "native_address" : "0x7fff77baab5d",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x110221439",
+    "native_address" : "0x10cca3439",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x7fff614e16a6",
+    "native_address" : "0x7fff77a646a6",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1101c5cb7",
+    "native_address" : "0x10cc47cb7",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1101a6b2f",
+    "native_address" : "0x10cc28b2f",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1101c603e",
+    "native_address" : "0x10cc4803e",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1101c61bf",
+    "native_address" : "0x10cc481bf",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x110060e76",
+    "native_address" : "0x10cae2e76",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x110061478",
+    "native_address" : "0x10cae3478",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1101b419f",
+    "native_address" : "0x10cc3619f",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1101b44b0",
+    "native_address" : "0x10cc364b0",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100637ab",
+    "native_address" : "0x10cae57ab",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x110086675",
+    "native_address" : "0x10cb08675",
     "native_offset" : "0x00000"
   }
 ,
@@ -644,25 +644,25 @@
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x10feb062d",
+    "native_address" : "0x10c93262d",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100cffa4",
+    "native_address" : "0x10cb51fa4",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100d43a6",
+    "native_address" : "0x10cb563a6",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x11006b6f4",
+    "native_address" : "0x10caed6f4",
     "native_offset" : "0x00000"
   }
 ,
@@ -723,49 +723,49 @@
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x10feb062d",
+    "native_address" : "0x10c93262d",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100cffa4",
+    "native_address" : "0x10cb51fa4",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100f9ec0",
+    "native_address" : "0x10cb7bec0",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x11002c28c",
+    "native_address" : "0x10caae28c",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x1100f7373",
+    "native_address" : "0x10cb79373",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x7fff616302eb",
+    "native_address" : "0x7fff77bb32eb",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x7fff61633249",
+    "native_address" : "0x7fff77bb6249",
     "native_offset" : "0x00000"
   }
 ,
  {
     "is_managed" : "false",
-    "native_address" : "0x7fff6162f40d",
+    "native_address" : "0x7fff77bb240d",
     "native_offset" : "0x00000"
   }
 
diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs
index 814ad33..6acd388 100755
--- a/ZigbeeApp/Shared/Common/CommonPage.cs
+++ b/ZigbeeApp/Shared/Common/CommonPage.cs
@@ -42,7 +42,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string CodeIDString = "1.1.0120070901";
+        public static string CodeIDString = "1.1.0120071301";
         /// <summary>
         /// 娉ㄥ唽鏉ユ簮(0:HDL On 1:Zigbee)
         /// </summary>
diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 9ba510c..1435f45 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -434,7 +434,7 @@
             if (Common.Config.Instance.Home.IsVirtually == true)
             {
                 //淇敼璁惧鍚嶅瓧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                Phone.UserView.UserPage.Instance.RefreshForm = true;
+                Phone.UserView.UserPage.Instance.RefreshAllForm = true;
                 return true;
             }
 
@@ -458,7 +458,7 @@
                 }
             }
             //淇敼璁惧鍚嶅瓧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            Phone.UserView.UserPage.Instance.RefreshForm = true;
+            Phone.UserView.UserPage.Instance.RefreshAllForm = true;
             return true;
         }
 
@@ -719,7 +719,7 @@
         public void DeleteMemmoryDevice(CommonDevice device, bool deleteRoom = true)
         {
             //鍒犻櫎缂撳瓨璁惧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            Phone.UserView.UserPage.Instance.RefreshForm = true;
+            Phone.UserView.UserPage.Instance.RefreshAllForm = true;
 
             if (deleteRoom == true)
             {
@@ -796,6 +796,35 @@
 
         #endregion
 
+        #region 鈻� 鍚屾璁惧___________________________
+        /// <summary>
+        ///  鍚屾璁惧骞朵笖鍒锋柊缂撳瓨(鍚屾澶辫触鏃讹紝浼氭樉绀轰俊鎭�)
+        /// </summary>
+        /// <param name="litdevice">璁惧瀵硅薄(MAC鍦板潃蹇呴』瑕佺浉鍚�)</param>
+        public async Task<bool> SynchronizationDevice(List<CommonDevice> listdevice)
+        {
+            //铏氭嫙浣忓畢鐨勮瘽,涓嶉渶瑕佸垹闄ょ綉鍏崇殑璁惧
+            if (Config.Instance.Home.IsVirtually == false)
+            {
+                //鍚屾
+                var result = await listdevice[0].SyncMsgToBindSource(listdevice[0].DeviceAddr, listdevice[0].DeviceEpoint);
+                if (result == null || result.result != 0)
+                {
+                    //鍚屾鍒犻櫎澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.SynchronizationFailed);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+            }
+            return true;
+        }
+        #endregion
+
+
+
         #region 鈻� 娴嬭瘯璁惧___________________________
 
         /// <summary>
@@ -831,6 +860,11 @@
                     //浼犳劅鍣ㄩ櫎浜哖ir閮芥病鏈夊畾浣嶅姛鑳�
                     return true;
                 }
+                else if (myTypeInfo.ConcreteType == DeviceConcreteType.Sensor_SphericalMotion)
+                {
+                    //鐞冨瀷绉诲姩浼犳劅鍣ㄨ櫧鐒舵槸鐢垫睜璁惧,浣嗘槸瀹冩湁瀹氫綅鍔熻兘
+                    return true;
+                }
                 return false;
             }
 
@@ -841,6 +875,22 @@
                 {
                     return true;
                 }
+            }
+            return false;
+        }
+
+        /// <summary>
+        /// 妫�娴嬭澶囨槸鍚︽嫢鏈変竴閿悓姝ュ姛鑳�
+        /// </summary>
+        /// <param name="device"></param>
+        /// <returns></returns>
+        public bool DeviceIsCanSynchronization(CommonDevice device)
+        {
+            //鑾峰彇璁惧绫诲瀷鐨�
+            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+            {
+                return true;
             }
             return false;
         }
@@ -1044,8 +1094,9 @@
             if (sort == false)
             {
                 return list;
-            } 
-            list.Sort((obj1, obj2) => {
+            }
+            list.Sort((obj1, obj2) =>
+            {
 
                 if (obj1.DeviceEpoint > obj2.DeviceEpoint)
                 {
@@ -1110,7 +1161,7 @@
         public List<string> GetAllDeviceFile()
         {
             List<string> listDeviceFile = new List<string>();
-            List<string> listAllFile = Global.FileListByHomeId();
+            List<string> listAllFile = HdlFileLogic.Current.GetRootPathListFile();
 
             foreach (string file in listAllFile)
             {
@@ -2461,15 +2512,6 @@
                     return false;
                 }
             }
-            //濡傛灉鏄柊椋庨潰鏉跨殑鏂伴璁惧,鍒欎笉鏄剧ず
-            else if (i_device.Type == DeviceType.FreshAir)
-            {
-                var myInfoType = LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { i_device });
-                if (myInfoType.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
-                {
-                    return false;
-                }
-            }
             //2020.03.30杩藉姞寮忔牱:濡傛灉鏄潰鏉跨殑娓╁害鎺㈠ご,涓嶆樉绀�
             else if (i_device.Type == DeviceType.TemperatureSensor && ((TemperatureSensor)i_device).SensorDiv == 1)
             {
@@ -2484,6 +2526,20 @@
                 //鏂伴鐨勬箍搴︿紶鎰熷櫒涓嶆樉绀�
                 return false;
             }
+
+            //濡傛灉鏄柊椋庨潰鏉挎垨鐜闈㈡澘,鍒欓兘涓嶆樉绀轰换浣曞洖璺�
+            var myInfoTypeTemp = LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { i_device });
+            if (myInfoTypeTemp.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir || myInfoTypeTemp.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
+            {
+                return false;
+            }
+            else if (myInfoTypeTemp.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+            {
+                if (i_device.Type != DeviceType.OnOffOutput)
+                {
+                    return false;
+                }
+            }
             return true;
         }
 
diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs
index dc7e878..e726972 100755
--- a/ZigbeeApp/Shared/Common/House.cs
+++ b/ZigbeeApp/Shared/Common/House.cs
@@ -65,10 +65,6 @@
         /// value:FloorName
         /// </summary>
         public Dictionary<string,string> FloorDics = new Dictionary<string,string> { };
-        /// <summary>
-        /// 褰撳墠妤煎眰Id
-        /// </summary>
-        public string CurrentFloorId = string.Empty;
 
         #endregion
 
@@ -82,26 +78,15 @@
         public string GetCurrentFloorName
         {
             get
-            {
+            {
                 return HdlResidenceLogic.Current.GetFloorNameById(CurrentFloorId);
             }
-        }
-
-        /// <summary>
-        /// 璁剧疆褰撳墠妤煎眰鐨処D
+        }
+        /// <summary>
+        /// 褰撳墠妤煎眰ID
         /// </summary>
-        public void SetCurrentFloorId()
-        {
-            if (Config.Instance.Home.FloorDics.Count > 0 && string.IsNullOrEmpty(CurrentFloorId))
-            {
-                foreach (var floor in Config.Instance.Home.FloorDics)
-                {
-                    CurrentFloorId = floor.Key;
-                    Save(false);
-                    return;
-                }
-            }
-        }
+        [Newtonsoft.Json.JsonIgnore]
+        public string CurrentFloorId = string.Empty;
 
         #endregion
 
diff --git a/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.ESVideoPhoneSDK.dll b/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.ESVideoPhoneSDK.dll
new file mode 100755
index 0000000..270a453
--- /dev/null
+++ b/ZigbeeApp/Shared/DLL/IOS/Shared.IOS.ESVideoPhoneSDK.dll
Binary files differ
diff --git a/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs b/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs
index a51a0e1..9655afe 100755
--- a/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs
@@ -823,7 +823,7 @@
             this.editorScene.Save();
 
             //鏂板缓鍦烘櫙,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             HdlThreadLogic.Current.RunMain(() =>
             {
@@ -902,7 +902,7 @@
             this.editorScene.Save();
 
             //缂栬緫鍦烘櫙,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             HdlThreadLogic.Current.RunMain(() =>
             {
diff --git a/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDeviceForm.cs b/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDeviceForm.cs
index 9e3167a..540e15e 100755
--- a/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDeviceForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDeviceForm.cs
@@ -42,6 +42,10 @@
         /// 璁惧鍒楄〃鎺т欢
         /// </summary>
         private VerticalListControl listDeviceView = null;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勬ゼ灞�
+        /// </summary>
+        private string nowSelectFloorId = string.Empty;
 
         #endregion
 
@@ -57,6 +61,8 @@
 
             //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(Language.StringByID(R.MyInternationalizationString.AddFunction));
+            //鍒濆鍖栧彸涓婅鐨勬帶浠�
+            this.InitTopRightMenuControl();
             //鍒濆鍖栦腑閮ㄤ俊鎭�
             this.InitMiddleFrame();
         }
@@ -66,8 +72,58 @@
         /// </summary>
         private void InitMiddleFrame()
         {
+            //娓呯┖body
+            this.ClearBodyFrame();
             //鍒濆鍖栨埧闂磋彍鍗曟帶浠�
             this.InitRoomMenuControl();
+        }
+
+        /// <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 TopRightFloorMenuControl(dicFloor.Count, 2, this.nowSelectFloorId, Language.StringByID(R.MyInternationalizationString.SelectFloor));
+                foreach (var floorId in dicFloor.Keys)
+                {
+                    contr.AddRowMenu(floorId, () =>
+                    {
+                        //璁板綍璧烽�夋嫨鐨処D
+                        this.nowSelectFloorId = floorId;
+                        btnFloor.Text = dicFloor[this.nowSelectFloorId];
+                        //鍒濆鍖栦腑閮ㄤ俊鎭�
+                        this.InitMiddleFrame();
+                    });
+                }
+            };
         }
 
         #endregion
@@ -98,7 +154,10 @@
             roomSwitchContr.SelectRoomEvent += (selectRoom) =>
             {
                 //鍦ㄥ闈㈡竻绌�(鐗规晥鐨勯棶棰�)
-                this.deviceFunctionMenuContr?.RemoveAll();
+                if (this.deviceFunctionMenuContr != null && this.deviceFunctionMenuContr.Parent != null)
+                {
+                    this.deviceFunctionMenuContr.RemoveAll();
+                }
                 this.listDeviceView?.RemoveAll();
 
                 HdlThreadLogic.Current.RunMainInThread(() =>
@@ -116,7 +175,10 @@
             this.btnFinishControl = new BottomClickButton();
             btnFinishControl.TextID = R.MyInternationalizationString.uFinish;
             bodyFrameLayout.AddChidren(btnFinishControl);
-            btnFinishControl.Visible = false;
+            if (this.dicNewListTask == null || this.dicNewListTask.Count == 0)
+            {
+                btnFinishControl.Visible = false;
+            }
             btnFinishControl.ButtonClickEvent += (sender, e) =>
             {
                 //鍥炶皟鍑芥暟
@@ -136,20 +198,24 @@
         /// <returns></returns>
         private List<Room> GetCanShowRoomList()
         {
-            //鍏堝皢鍒楄〃Dictionary鍖�
-            this.dicNewListTask = new Dictionary<string, List<Safeguard.TaskListInfo>>();
-            this.dicOldListTask = new Dictionary<string, List<Safeguard.TaskListInfo>>();
-            foreach (var data in this.listAdjustTarget)
+            if (this.dicNewListTask == null)
             {
-                if (data.Type == 0)
+                //鍏堝皢鍒楄〃Dictionary鍖�
+                this.dicNewListTask = new Dictionary<string, List<Safeguard.TaskListInfo>>();
+                this.dicOldListTask = new Dictionary<string, List<Safeguard.TaskListInfo>>();
+                foreach (var data in this.listAdjustTarget)
                 {
-                    //鍙璁惧
-                    string mainkey = LocalDevice.Current.GetDeviceMainKeys(data.DeviceAddr, data.Epoint);
-                    dicOldListTask[mainkey] = data.TaskList;
+                    if (data.Type == 0)
+                    {
+                        //鍙璁惧
+                        string mainkey = LocalDevice.Current.GetDeviceMainKeys(data.DeviceAddr, data.Epoint);
+                        dicOldListTask[mainkey] = data.TaskList;
+                    }
                 }
             }
+          
             //褰撳墠妤煎眰鐨勫叏閮ㄦ埧闂�
-            var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+            var lisrRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(this.nowSelectFloorId);
             var listShowRoom = new List<Room>();
             foreach (var room in lisrRoom)
             {
@@ -181,7 +247,7 @@
             var dicGroupDevice = this.GetAllGroupDevice(room);
 
             //鍙垵濮嬪寲涓�娆�
-            if (this.deviceFunctionMenuContr == null)
+            if (this.deviceFunctionMenuContr == null || this.deviceFunctionMenuContr.Parent == null)
             {
                 //璁惧鑿滃崟鐨勭櫧鑹茶儗鏅�
                 var functionBack1 = new FrameLayout();
@@ -256,7 +322,7 @@
                         HdlThreadLogic.Current.RunMainInThread(() =>
                         {
                             //鍒濆鍖栬澶囧垪琛ㄦ帶浠�
-                            this.InitListDeviceControls(listDeviceView, rowInfo, room);
+                            this.InitListDeviceControls(listDeviceView, rowInfo);
                         });
                     }
                 };
@@ -273,7 +339,7 @@
             if (nowSelectDeviceInfo != null)
             {
                 //鍒濆鍖栭粯璁ょ殑璁惧鍒楄〃鎺т欢
-                this.InitListDeviceControls(listDeviceView, nowSelectDeviceInfo, room);
+                this.InitListDeviceControls(listDeviceView, nowSelectDeviceInfo);
             }
         }
 
@@ -286,7 +352,7 @@
         /// </summary>
         /// <param name="listView"></param>
         /// <param name="rowInfo"></param>
-        private void InitListDeviceControls(VerticalListControl listView, DeviceRowInfo rowInfo, Room i_room)
+        private void InitListDeviceControls(VerticalListControl listView, DeviceRowInfo rowInfo)
         {
             //鍏堟竻绌�
             listView.RemoveAll();
diff --git a/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddSceneForm.cs b/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddSceneForm.cs
index 3aef76a..211ea4e 100755
--- a/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddSceneForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddSceneForm.cs
@@ -38,6 +38,10 @@
         /// 鍦烘櫙鍒楄〃鎺т欢
         /// </summary>
         private VerticalListControl listSceneView = null;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勬ゼ灞�
+        /// </summary>
+        private string nowSelectFloorId = string.Empty;
 
         #endregion
 
@@ -53,6 +57,9 @@
 
             //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(Language.StringByID(R.MyInternationalizationString.AddScence));
+
+            //鍒濆鍖栧彸涓婅鐨勬帶浠�
+            this.InitTopRightMenuControl();
             //鍒濆鍖栦腑閮ㄤ俊鎭�
             this.InitMiddleFrame();
         }
@@ -62,6 +69,9 @@
         /// </summary>
         private void InitMiddleFrame()
         {
+            //娓呯┖body
+            this.ClearBodyFrame();
+
             //鑾峰彇鑳藉鏄剧ず鐨勬埧闂村垪琛�
             var listRoom = this.GetCanShowRoomList();
             if (listRoom.Count == 0)
@@ -96,7 +106,10 @@
             this.btnFinishControl = new BottomClickButton();
             btnFinishControl.TextID = R.MyInternationalizationString.uFinish;
             bodyFrameLayout.AddChidren(btnFinishControl);
-            btnFinishControl.Visible = false;
+            if (this.listNewScene == null || this.listNewScene.Count == 0)
+            {
+                btnFinishControl.Visible = false;
+            }
             btnFinishControl.ButtonClickEvent += (sender, e) =>
             {
                 //鍥炶皟鍑芥暟
@@ -106,6 +119,54 @@
 
             //鎵ц鍒濆鍖�(浼氳嚜鍔ㄨЕ鍙慡electRoomEvent浜嬩欢)
             roomSwitchContr.InitControl();
+        }
+
+        /// <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 TopRightFloorMenuControl(dicFloor.Count, 2, this.nowSelectFloorId, Language.StringByID(R.MyInternationalizationString.SelectFloor));
+                foreach (var floorId in dicFloor.Keys)
+                {
+                    contr.AddRowMenu(floorId, () =>
+                    {
+                        //璁板綍璧烽�夋嫨鐨処D
+                        this.nowSelectFloorId = floorId;
+                        btnFloor.Text = dicFloor[this.nowSelectFloorId];
+                        //鍒濆鍖栦腑閮ㄤ俊鎭�
+                        this.InitMiddleFrame();
+                    });
+                }
+            };
         }
 
         #endregion
@@ -209,19 +270,23 @@
         /// <returns></returns>
         private List<Room> GetCanShowRoomList()
         {
-            //鍏堝垪琛ㄥ寲
-            this.listOldSceneId = new List<int>();
-            this.listNewScene = new List<int>();
-            foreach (var data in this.listAdjustTarget)
+            if (this.listNewScene == null)
             {
-                if (data.Type == 1)
+                //鍏堝垪琛ㄥ寲
+                this.listOldSceneId = new List<int>();
+                this.listNewScene = new List<int>();
+                foreach (var data in this.listAdjustTarget)
                 {
-                    //鍙鍦烘櫙
-                    listOldSceneId.Add(data.ElseScenesId);
+                    if (data.Type == 1)
+                    {
+                        //鍙鍦烘櫙
+                        listOldSceneId.Add(data.ElseScenesId);
+                    }
                 }
             }
+
             //褰撳墠妤煎眰鐨勫叏閮ㄦ埧闂�
-            var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+            var lisrRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(this.nowSelectFloorId);
             var listShowRoom = new List<Room>();
             foreach (var room in lisrRoom)
             {
diff --git a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
index 78a495d..7451d5d 100755
--- a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
@@ -152,18 +152,21 @@
                 btnFloorName.Y = Application.GetRealHeight(17);
                 btnFloorName.TextAlignment = TextAlignment.CenterRight;
                 btnFloorName.IsBold = true;
-                btnFloorName.Text = HdlResidenceLogic.Current.GetFloorNameById(Config.Instance.Home.CurrentFloorId);
+                btnFloorName.Text = Common.Config.Instance.Home.GetCurrentFloorName;
                 frameSwitchBack.AddChidren(btnFloorName);
                 btnFloorName.ButtonClickEvent += (sender, e) =>
                 {
                     var floors = new SelectFloorForm();
+                    floors.CurFloorId = Config.Instance.Home.CurrentFloorId;
                     AddChidren(floors);
                     floors.Init(580, 330, Direction.Right);
-                    floors.changeFloor = true;
                     floors.FloorAction += (floorId) =>
                     {
                         btnFloorName.Text = HdlResidenceLogic.Current.GetFloorNameById(floorId);
+                        Config.Instance.Home.CurrentFloorId = floorId;
                         HdlRoomLogic.Current.NowCategoryRoom = HdlRoomLogic.Current.GetLoveRoom();
+                        //杩欎釜鏃跺�欓渶瑕佸埛鏂颁富椤�
+                        UserPage.Instance.RefreshMainPageForm = true;
                         //鍒锋柊bodyView
                         this.RefreshBodyView();
                     };
@@ -277,7 +280,7 @@
         private void InitRoomMenuControl()
         {
             //褰撳墠妤煎眰鐨勫叏閮ㄦ埧闂�
-            var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+            var lisrRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId);
             if (HdlRoomLogic.Current.NowCategoryRoom == null)
             {
                 //璁剧疆绗竴涓负鍒濆鎴块棿
@@ -633,12 +636,13 @@
                         HdlThreadLogic.Current.RunMain(() =>
                         {
                             listview1.EndHeaderRefreshing();
-                            if (result == true)
+                            //listview1.Parent涓簄ull浠h〃瀹冨垏鎹㈡埧闂翠簡
+                            if (result == true && listview1.Parent != null)
                             {
-                                //鍦ㄥ闈㈡竻绌�(鐗规晥鐨勯棶棰�)
-                                this.functionSceneBodyView.RemoveAll();
                                 //鍒锋柊鍦烘櫙鐨勬椂鍊�,鍏抽棴宸﹀垝鑿滃崟鐨勬湭鍒嗛厤鐣岄潰
                                 MainPage.LeftListRoomViewFrom.Instance?.CloseUnallocatedRoomForm();
+                                //鍦ㄥ闈㈡竻绌�(鐗规晥鐨勯棶棰�)
+                                this.functionSceneBodyView.RemoveAll();
 
                                 HdlThreadLogic.Current.RunMainInThread(() =>
                                 {
@@ -820,7 +824,11 @@
                         //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 2020.05.09:鍒犻櫎Ack涓婚
                         this.dicDeviceRowControl[mainKeys].SetHadGetResponeResultStatu();
                         //鍒锋柊鎺т欢
-                        this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice);
+                        if (locadevice.Type != DeviceType.IASZone)
+                        {
+                            //浼犳劅鍣ㄤ笉闇�瑕佸睘鎬т笂鎶�(浣嗘槸閭d釜鐞冨瀷浼犳劅鍣ㄥ眳鐒朵細灞炴�т笂鎶�)
+                            this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice);
+                        }
                     }
                 }, ShowErrorMode.NO);
             });
diff --git a/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs b/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs
index e07f70b..f72f1cb 100755
--- a/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs
+++ b/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs
@@ -9,10 +9,6 @@
 
         public Action<string> FloorAction;
         /// <summary>
-        /// 鏄惁鍒囨崲涓哄綋鍓嶆ゼ灞�
-        /// </summary>
-        public bool changeFloor = true;
-        /// <summary>
         /// 褰撳墠浼犺繃鏉ョ殑floorid
         /// </summary>
         public string CurFloorId = string.Empty;
@@ -127,32 +123,11 @@
             frow.Width = this.GetPictrueRealSize(449);
             frow.Height = this.GetPictrueRealSize(150);
             frow.Init("Floor/Floor.png", "Floor/FloorSelected.png", floorName);
-            verticalScrolView.AddChidren(frow);
-
-            if (string.IsNullOrEmpty(CurFloorId))
-            {
-                if (Config.Instance.Home.CurrentFloorId == floorId)
-                {
-                    frow.IsSelected = true;
-                }
-            }
-            else
-            {
-                if (CurFloorId == floorId)
-                {
-                    frow.IsSelected = true;
-                }
-            }
+            verticalScrolView.AddChidren(frow);
+            frow.IsSelected = floorId == this.CurFloorId;
 
             frow.ButtonClickEvent += (sender, e) =>
             {
-                frow.IsSelected = true;
-                if (changeFloor)
-                {
-                    Config.Instance.Home.CurrentFloorId = floorId;
-                    Config.Instance.Home.Save(false);
-                    UserCenter.HdlRoomLogic.Current.RefreshRoomListView();
-                }
                 RemoveView();
                 FloorAction?.Invoke(floorId);
             };
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
index 045ed5d..6c053c7 100755
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -70,7 +70,9 @@
             //鍦烘櫙鐐瑰嚮
             sceneContr.ButtonClickEvent += (sender, e) =>
             {
-                this.SceneUpHandler();
+                //涓嶈兘鍙嶅鐐瑰嚮
+                sceneContr.CanClick = false;
+                this.SceneUpHandler(sceneContr);
             };
 
             //鏀惰棌
@@ -243,8 +245,13 @@
                 {
                     //闅愯棌鍙冲垝鑿滃崟
                     this.HideMenu();
-                    scene.SceneDelayTime = t;
-                    btnDelayTime.Text = CommonFormResouce.GetTimeString(t);
+                    if (t != 0)
+                    {
+                        scene.SceneDelayTime = t;
+                        btnDelayTime.Text = CommonFormResouce.GetTimeString(t);
+                        //缂栬緫寤舵椂鏃�,闇�瑕佸埛鏂颁富椤�
+                        UserView.UserPage.Instance.RefreshAllForm = true;
+                    }
                 };
             };
         }
@@ -254,9 +261,8 @@
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="btnScenePic"></param>
-        /// <param name="btnSceneName"></param>
-        private async void SceneUpHandler()
+        /// <param name="sceneContr"></param>
+        private async void SceneUpHandler(ScenePictrueControl sceneContr)
         {
             if (scene.SceneDelayTime <= 0 && scene.RemainTime <= 0)
             {
@@ -267,6 +273,7 @@
             var result = await HdlSceneLogic.Current.ControlScene(scene);
             if (result == false)
             {
+                sceneContr.CanClick = true;
                 return;
             }
             
@@ -274,8 +281,12 @@
             scene.SceneDelayTime = 0;
             if (scene.RemainTime <= 0)
             {
+                sceneContr.CanClick = true;
                 return;
             }
+            //璋冪敤鏈夊欢鏃剁殑鍦烘櫙,闇�瑕佸埛鏂颁富椤�
+            UserView.UserPage.Instance.RefreshAllForm = true;
+
             int myRemainTime = scene.RemainTime;
             //寮�鍚唴閮ㄥ欢鏃舵椂闂寸嚎绋�(鏃ㄥ湪鍏ㄩ儴鍦版柟鐨勫悓涓�鍦烘櫙鏃堕棿鍚屾)
             HdlSceneLogic.Current.StartDelayTimeThread(scene);
@@ -298,6 +309,7 @@
                         SetTimeImage();
                         //鐩存帴寮�鍚疞oading鐗规晥
                         this.StartLoadingApreal();
+                        sceneContr.CanClick = true;
                     }
                 });
             })
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
index ad7886d..26c0e85 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -1236,12 +1236,16 @@
         /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param>
         /// <param name="second">瓒呮椂鏃堕棿</param>
         /// <returns></returns>
-        public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3)
+        public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3, bool _bool = false)
         {
             HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰
             request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET
-            request.ContentType = "application/json";
+            request.ContentType = "application/json"; 
             request.Timeout = second * 1000;//瓒呮椂鏃堕棿
+            if (_bool) {
+                //鐢ㄤ簬楂樿儨鍙瀵硅鎺ュ彛
+                request.Headers.Add("Authorization", Config.Instance.Token);
+            }
             if (method == "POST")
             {
                 byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str);
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
index 793d7c0..0f5a797 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -64,8 +64,7 @@
 
         }
         #region 鈼� 鑷姩鍖朹_________________________
-
-       static bool If_once = true;
+        public static bool If_once = true;//杩涙潵鍙涓�娆℃爣璇�;
         /// <summary>
         /// 鑷姩鍖栧姛鑳戒唬鐮佸叆鍙�
         /// </summary>
@@ -276,9 +275,9 @@
                 {
                     if (If_once)
                     {
-                        If_once = false;
                         if (Common.Logic.LogicList.Count == 0)
                         {
+                            If_once = false;
                             var Idlist1 = await Send.GetLogicId(0);//
                             var Idlist2 = await Send.GetLogicId(2);//闂ㄩ攣甯稿紑妯″紡
                             if (Idlist1.Count != 0)
diff --git a/ZigbeeApp/Shared/Phone/Device/VideoIntercom/VideoMachine.cs b/ZigbeeApp/Shared/Phone/Device/VideoIntercom/VideoMachine.cs
new file mode 100755
index 0000000..070ceac
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/Device/VideoIntercom/VideoMachine.cs
@@ -0,0 +1,275 @@
+锘縰sing System;
+using Newtonsoft.Json.Linq;
+using Shared.Common;
+using System.Collections.Generic;
+using Shared.Phone.Device.Logic;
+
+namespace Shared.Phone.Device.VideoIntercom
+{
+    public class VideoMachine : FrameLayout
+    {
+        public VideoMachine()
+        {
+        }
+        public void Show(List<VideoCalss> videoInfosLists)
+        {
+            TopView view = new TopView();
+            this.AddChidren(view.TopRowView());
+            view.toptitleNameBtn.TextID = R.MyInternationalizationString.videoIntercom;
+            view.clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); };
+
+            var middle = new VerticalRefreshLayout
+            {
+                Y = view.topRowLayout.Bottom,
+                Height = Application.GetRealHeight(Method.H - 184),
+                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
+            };
+            this.AddChidren(middle);
+
+            for (int i = 0; i < videoInfosLists.Count; i++)
+            {
+                var videoInfos = videoInfosLists[i];
+                var fLayout = new FrameLayout
+                {
+                    Height = Application.GetRealHeight(160),
+                    BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
+                };
+                middle.AddChidren(fLayout);
+                var iconBtn = new Button
+                {
+                    Width = Application.GetMinRealAverage(81),
+                    Height = Application.GetMinRealAverage(81),
+                    X = Application.GetRealWidth(58),
+                    Y = Application.GetRealHeight(55),
+                    UnSelectedImagePath = "Item/videoIntercom.png",
+                };
+                fLayout.AddChidren(iconBtn);
+                var nameBtn = new Button
+                {
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                    TextSize = 15,
+                    Y = Application.GetRealHeight(30),
+                    X = Application.GetRealWidth(176),
+                    Height = Application.GetRealHeight(60),
+                    Width = Application.GetRealWidth(400),
+                    Text = videoInfos.DeviceName,
+                };
+                fLayout.AddChidren(nameBtn);
+
+                var name1Btn = new Button
+                {
+                    Text = videoInfos.RoomName,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
+                    TextSize = 12,
+                    Y = nameBtn.Bottom + Application.GetRealHeight(3),
+                    X = Application.GetRealWidth(176),
+                    Height = Application.GetRealHeight(60),
+                    Width = Application.GetRealWidth(400),
+                };
+                fLayout.AddChidren(name1Btn);
+
+                var nextBtn = new Button
+                {
+                    Width = Application.GetMinRealAverage(104),
+                    Height = Application.GetMinRealAverage(104),
+                    UnSelectedImagePath = "Item/videoIntercomNext.png",
+                    X = Application.GetRealWidth(743 + 176),
+                    Y = Application.GetRealHeight(30),
+                };
+                fLayout.AddChidren(nextBtn);
+
+                var lineBtn = new Button
+                {
+                    Width = Application.GetRealWidth(845),
+                    Height = 1,
+                    Y = fLayout.Height - 1,
+                    X = Application.GetRealWidth(176),
+                    BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+                };
+                fLayout.AddChidren(lineBtn);
+                var clickBtn = new Button
+                {
+                    Height = Application.GetRealHeight(160),
+                };
+                fLayout.AddChidren(clickBtn);
+
+                clickBtn.MouseUpEventHandler += (sen, e) =>
+                 {
+#if iOS
+                     GateWay.Ios.ESVideoInfo eSVideoInfo = new GateWay.Ios.ESVideoInfo();
+                     eSVideoInfo.DeviceName = videoInfos.DeviceName;
+                     eSVideoInfo.ESVideoUUID = videoInfos.ESVideoUUID;
+                     eSVideoInfo.ESRoomID = videoInfos.ESRoomID;
+                     eSVideoInfo.RoomName = videoInfos.RoomName;
+                     GateWay.Ios.ESVideo.ShowESVideoMonitor(eSVideoInfo);
+#elif Android
+                   
+#endif
+                 };
+
+            }
+
+        }
+        /// <summary>
+        /// 鍒ゆ柇璐﹀彿鏄惁鏀寔鍙瀵硅
+        /// </summary>
+        /// <param name="topFrameLayout"></param>
+        public async static void AccountSupportVideo(FrameLayout topFrameLayout)
+        {
+            var jobject = new JObject();
+            jobject.Add("RequestVersion", CommonPage.RequestVersion);
+            jobject.Add("RequestSource", "0");
+            jobject.Add("HomeID", Config.Instance.HomeId);
+            var url = "https://developer.hdlcontrol.com/ProposedProductionApi/VideoIntercom/CheckBindRecord";
+            var str = await Send.HttpWebRequest(url, jobject.ToString(), "POST", 3, true);
+            if (!string.IsNullOrEmpty(str))
+            {
+                try
+                {
+                    var json = JObject.Parse(str);
+                    if (json != null)
+                    {
+                        var stateCode = json["StateCode"].ToString();
+                        //鍙瀵硅蹇嵎鏂瑰紡
+                        var videoIntercomBtn = new Button();
+                        videoIntercomBtn.Gravity = Gravity.CenterVertical;
+                        videoIntercomBtn.UnSelectedImagePath = "Item/videoIntercom.png";
+                        videoIntercomBtn.Width = Application.GetMinRealAverage(69);
+                        videoIntercomBtn.Height = Application.GetMinRealAverage(69);
+                        List<VideoCalss> videoList= new List<VideoCalss>();
+                        if (stateCode == "Success")
+                        {//鍒ゆ柇杩欎釜璐﹀彿鏄惁缁戝畾;
+                            topFrameLayout.AddChidren(videoIntercomBtn);
+                            CloudsVideo cloudsVideo = Newtonsoft.Json.JsonConvert.DeserializeObject<CloudsVideo>(json["ResponseData"].ToString());
+                            videoList = await GetVideoInfoList(cloudsVideo);
+                        }
+                        if (UserCenter.UserCenterResourse.ResidenceOption.SafetyShortcut)
+                        {
+                            videoIntercomBtn.X = Application.GetRealWidth(746 + 10);
+                        }
+                        else
+                        {
+                            videoIntercomBtn.X = Application.GetRealWidth(850 + 10);
+                        }
+                        videoIntercomBtn.MouseUpEventHandler += (sender, e) =>
+                        {
+
+                            var videoMachine = new Device.VideoIntercom.VideoMachine();
+                            UserView.HomePage.Instance.AddChidren(videoMachine);
+                            UserView.HomePage.Instance.PageIndex += 1;
+                            videoMachine.Show(videoList);
+
+                        };
+                    }
+                }
+                catch { }
+            }
+
+
+
+        }
+        /// <summary>
+        /// 鑾峰彇鍙瀵硅鍒楄〃
+        /// </summary>
+        static async System.Threading.Tasks.Task<List<VideoCalss>> GetVideoInfoList(CloudsVideo clouds)
+        {
+            List<VideoCalss> eSVideoInfosList = new List<VideoCalss>();
+            var jobject = new JObject();
+            jobject.Add("cmtID", clouds.FLCommunityID);
+            jobject.Add("unitno", clouds.FLBuildingID);
+            jobject.Add("method", "getUUIDList");
+            var url = " http://112.74.164.111:180/api.php/Device/getmonitorUUID";
+            var str = await Send.HttpWebRequest(url, jobject.ToString(), "POST");
+            if (string.IsNullOrEmpty(str))
+            {
+                return eSVideoInfosList;
+            }
+            var json = JObject.Parse(str);
+            if (json == null)
+            {
+                return eSVideoInfosList;
+            }
+            if (json["resCode"].ToString() != "0")
+            {
+                return eSVideoInfosList;
+            }
+            var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json["list"].ToString());
+            if (list.Count == 0)
+            {
+                return eSVideoInfosList;
+            }
+            foreach (var videoInfo in list)
+            {
+                VideoCalss eSVideoInfo = new VideoCalss();
+                eSVideoInfo.ESRoomID = int.Parse(clouds.FLRoomID);
+                string str1 = clouds.FLBuildingID.Substring(0, 2).TrimStart('0');
+                string str2 = clouds.FLBuildingID.Substring(2, 2).TrimStart('0');
+                eSVideoInfo.RoomName = str1 +Language.StringByID( R.MyInternationalizationString.dong) + str2 + Language.StringByID(R.MyInternationalizationString.unit);
+                eSVideoInfo.DeviceName = videoInfo["aliasName"];
+                if (videoInfo["uuid"].Contains(","))
+                {
+                    var uuid = videoInfo["uuid"].Split(',');
+                    eSVideoInfo.ESVideoUUID = uuid[0];
+                }
+                else
+                {
+                    eSVideoInfo.ESVideoUUID = videoInfo["uuid"];
+                }
+                eSVideoInfosList.Add(eSVideoInfo);
+            }
+            return eSVideoInfosList;
+        }
+    }
+    public class VideoCalss
+    {
+        /// <summary>
+        /// 瀹ゅ鏈虹殑UUID
+        /// 渚嬶細JJY000007FSEYX
+        /// </summary>
+        public string ESVideoUUID = string.Empty;
+        /// <summary>
+        /// 褰撳墠鐢ㄦ埛鐨勬埧闂碔D
+        /// 渚嬶細0801
+        /// </summary>
+        public int ESRoomID;
+        /// <summary>
+        /// 瀹ゅ鏈虹殑鍚嶇О
+        /// 渚嬶細瀹ゅ鏈�
+        /// </summary>
+        public string DeviceName = string.Empty;
+        /// <summary>
+        /// 鎴块棿鍛藉悕
+        /// 渚嬶細8鏍�1鍗曞厓0801
+        /// </summary>
+        public string RoomName = string.Empty;
+
+    }
+    public class CloudsVideo
+    {
+        /// <summary>
+        /// 鏍嬫ゼ鍗曞厓鍙�
+        /// </summary>
+        public string FLBuildingID = string.Empty;
+        /// <summary>
+        /// 閭f爧妤肩殑鍚嶇О
+        /// </summary>
+        public string FLBuildingName = string.Empty;
+        /// <summary>
+        /// 灏忓尯ID
+        /// </summary>
+        public string FLCommunityID = string.Empty;
+        /// <summary>
+        /// 鎴块棿ID
+        /// </summary>
+        public string FLRoomID = string.Empty;
+        /// <summary>
+        /// 浣忓畢ID
+        /// </summary>
+        public string HomeID = string.Empty;
+
+        public string FLSecretKey = string.Empty;
+
+    }
+}
diff --git a/ZigbeeApp/Shared/Phone/MainPage/Controls/SceneCardControl.cs b/ZigbeeApp/Shared/Phone/MainPage/Controls/SceneCardControl.cs
index 645b3dc..1e95885 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/Controls/SceneCardControl.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/Controls/SceneCardControl.cs
@@ -60,6 +60,7 @@
             this.ButtonClickEvent += (sender, e) =>
             {
                 //璋冪敤鍦烘櫙
+                this.CanClick = false;
                 this.SetSceneAction();
             };
         }
@@ -125,12 +126,17 @@
                 timeSelect.Init();
                 timeSelect.TimeAction = (time) =>
                 {
+                    //閫夋嫨鐨勬槸涓嶅紑鍚�
+                    if (time == 0) { return; }
+
                     i_scene.SceneDelayTime = time;
 
                    //鏃堕棿鍥炬爣涓嶆樉绀�
                    this.btnTimeIcon.Visible = false;
                    //鏄剧ず鍓╀綑鐨勬椂闂�
                    this.btnTimeView.Text = this.GetTimeString(time, hourText, minuText, secondText);
+                    //閫夋嫨寤舵椂鏃�,闇�瑕佸埛鏂颁富椤�
+                    UserView.UserPage.Instance.RefreshAllForm = true;
                 };
             };
 
@@ -195,7 +201,13 @@
             var result = await HdlSceneLogic.Current.ControlScene(scene);
             if (result == false)
             {
+                this.CanClick = true;
                 return;
+            }
+            if (scene.SceneDelayTime > 0)
+            {
+                //璋冪敤鏈夊欢鏃剁殑鍦烘櫙,闇�瑕佸埛鏂颁富椤�
+                UserView.UserPage.Instance.RefreshAllForm = true;
             }
             //淇敼鏃堕棿
             scene.RemainTime = scene.SceneDelayTime;
@@ -236,6 +248,7 @@
             }
 
             //寮�鍚欢鏃跺�掕鏃剁壒鏁�
+            this.CanClick = false;
             this.StartRemainTimeApreal(i_scene);
         }
 
@@ -251,6 +264,7 @@
         {
             if (i_scene.RemainTime <= 0)
             {
+                this.CanClick = true;
                 return;
             }
             int remainTine = i_scene.RemainTime;
@@ -284,6 +298,7 @@
                     this.btnTimeView.Text = string.Empty;
                     //鐩存帴寮�鍚疞oading鐗规晥
                     this.StartLoadingApreal();
+                    this.CanClick = true;
                 });
             })
             { IsBackground = true }.Start();
diff --git a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
index 8f84fd0..b6f5a1b 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
@@ -74,6 +74,9 @@
                 listBodyContr.RecoverTableHeight();
             }
 
+            //鍒濆鍖栭粯璁ゆゼ灞侷D
+            this.InitDefultFloorId();
+
             //鍒濆鍖栧ご閮ㄦ帶浠�
             this.InitTopFrameLayoutControl();
             //鍒濆鍖栦腑闂存帶浠�
@@ -129,6 +132,9 @@
                     this.ShowSelectFloorForm(btnFloorName);
                 };
             }
+
+            //鍙瀵硅蹇嵎鏂瑰紡
+            Shared.Phone.Device.VideoIntercom.VideoMachine.AccountSupportVideo(topFrameLayout);
             //瀹夐槻蹇嵎鏂瑰紡
             if (UserCenterResourse.ResidenceOption.SafetyShortcut)
             {
@@ -403,10 +409,9 @@
             roomPageView.SetLeftAndRightImageView(mLeftImageView, mRightImageView);
 
             //褰撳墠鎴块棿
-            var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+            var listRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId);
             if (HdlRoomLogic.Current.NowMainPageRoom == null)
             {
-                //璁剧疆绗竴涓负鍒濆鎴块棿
                 HdlRoomLogic.Current.NowMainPageRoom = listRoom[0];
             }
             var curIndex = 0;
@@ -506,7 +511,7 @@
                 //褰撴病鏈夌粦瀹氭湁缃戝叧,宸︽粦鏃�,鐐瑰嚮鎴块棿鍒楄〃,鍒欎笉楦熷畠
                 return;
             }
-            var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
+            var listRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId);
             for (int i = 0; i < listRoom.Count; i++)
             {
                 if (room.Id == listRoom[i].Id)
@@ -522,7 +527,7 @@
             //閲嶇疆涓�涓嬫ゼ灞傚悕瀛�
             if (this.btnFloorName != null)
             {
-                btnFloorName.Text = HdlResidenceLogic.Current.GetFloorNameById(Config.Instance.Home.CurrentFloorId);
+                btnFloorName.Text = Config.Instance.Home.GetCurrentFloorName;
             }
         }
 
@@ -1096,7 +1101,11 @@
                         //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 2020.05.09:鍒犻櫎Ack涓婚
                         this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu();
                         //鍒锋柊鎺т欢
-                        this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice);
+                        if (locadevice.Type != DeviceType.IASZone)
+                        {
+                            //浼犳劅鍣ㄤ笉闇�瑕佸睘鎬т笂鎶�(浣嗘槸閭d釜鐞冨瀷浼犳劅鍣ㄥ眳鐒朵細灞炴�т笂鎶�)
+                            this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice);
+                        }
                     }
                 }, ShowErrorMode.NO);
             });
@@ -1155,13 +1164,16 @@
         private void ShowSelectFloorForm(NormalViewControl btnFloor)
         {
             var floorFL = new Category.SelectFloorForm();
+            floorFL.CurFloorId = Config.Instance.Home.CurrentFloorId;
             this.AddChidren(floorFL);
             floorFL.Init(35, 153);
-            floorFL.changeFloor = true;
             floorFL.FloorAction = (floorId) =>
             {
                 btnFloor.Text = HdlResidenceLogic.Current.GetFloorNameById(floorId);
+                Config.Instance.Home.CurrentFloorId = floorId;
                 HdlRoomLogic.Current.NowMainPageRoom = HdlRoomLogic.Current.GetLoveRoom();
+                //鍒嗙被鐣岄潰闇�瑕佸埛鏂�
+                UserView.UserPage.Instance.RefreshCategoryForm = true;
                 this.ShowForm();
             };
         }
@@ -1203,6 +1215,23 @@
             return true;
         }
 
+        /// <summary>
+        /// 鍒濆鍖栭粯璁ゆゼ灞侷D
+        /// </summary>
+        private void InitDefultFloorId()
+        {
+            if (Config.Instance.Home.CurrentFloorId != string.Empty)
+            {
+                return;
+            }
+            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
+            foreach (var floorId in dicFloor.Keys)
+            {
+                Config.Instance.Home.CurrentFloorId = floorId;
+                break;
+            }
+        }
+
         #endregion
 
         #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
diff --git a/ZigbeeApp/Shared/Phone/MainPage/LeftListRoomViewFrom.cs b/ZigbeeApp/Shared/Phone/MainPage/LeftListRoomViewFrom.cs
index c64ef01..da61323 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/LeftListRoomViewFrom.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/LeftListRoomViewFrom.cs
@@ -96,13 +96,18 @@
             };
 
             //鑾峰彇妤煎眰
-            this.curFloorId = Config.Instance.Home.CurrentFloorId;
-
             var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
             if (dicFloor.Count == 0)
             {
                 return;
             }
+            //妤煎眰鍒濆ID
+            foreach (var floorId in dicFloor.Keys)
+            {
+                this.curFloorId = floorId;
+                break;
+            }
+
             //妤煎眰鍥炬爣
             var btnIconContr = new MostRightIconControl(69, 69);
             btnIconContr.UnSelectedImagePath = "Item/Drop_Down.png";
@@ -120,9 +125,9 @@
             {
                 //妤煎眰鑿滃崟
                 var floors = new Category.SelectFloorForm();
+                floors.CurFloorId = this.curFloorId;
                 AddChidren(floors);
-                floors.changeFloor = false;
-                floors.CurFloorId = curFloorId;
+                floors.CurFloorId = this.curFloorId;
                 floors.Init(599, 161, Direction.Right);
                 floors.FloorAction += (floorId) =>
                 {
@@ -219,7 +224,6 @@
                     {
                         return;
                     }
-                    string oldFloorId = Config.Instance.Home.CurrentFloorId;
                     CommonPage.Instance.CloseLeftMenu();
 
                     HdlThreadLogic.Current.RunThread(() =>
@@ -231,10 +235,11 @@
                             //鐐瑰嚮鐨勬槸鏀惰棌鎴块棿鐨勮瘽,涓嶅彉鏇村綋鍓嶆ゼ灞俰d
                             if (room.FloorId != string.Empty)
                             {
-                                Config.Instance.Home.CurrentFloorId = room.FloorId;
-                                if (oldFloorId != room.FloorId)
+                                if (Config.Instance.Home.CurrentFloorId != room.FloorId)
                                 {
                                     //妤煎眰閮藉垏鎹㈢殑璇�,鍒锋柊鏁翠釜涓婚〉
+                                    Config.Instance.Home.CurrentFloorId = room.FloorId;
+                                    HdlRoomLogic.Current.NowMainPageRoom = room;
                                     UserPage.Instance.ReFreshControl();
                                     return;
                                 }
diff --git a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs
index fe4fce7..520287b 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs
@@ -536,6 +536,11 @@
             {
                 HdlControlLogic.Current.ShowBottomListRoomView(string.Empty, Language.StringByID(R.MyInternationalizationString.AddTo), (selectId, selectName) =>
                 {
+                    if (selectId == string.Empty)
+                    {
+                        //閫夋嫨鐨勬槸鏈垎閰�
+                        return;
+                    }
                     //鍙樻洿浜嗗綋鍓嶆埧闂寸殑涓滆タ,涓婚〉闇�瑕佸埛鏂�
                     if (HdlRoomLogic.Current.NowMainPageRoom.Id == selectId)
                     {
@@ -543,7 +548,9 @@
                     }
                     //淇濆瓨閫夋嫨鐨勮澶囧拰鍦烘櫙
                     var room = HdlRoomLogic.Current.GetRoomById(selectId);
-                    this.SaveSelectDeviceAndScene(room);
+                    this.SaveSelectDeviceAndScene(room);
+                    //鍒嗙被鐣岄潰闇�瑕佸埛鏂�
+                    UserPage.Instance.RefreshCategoryForm = true;
                 });
             };
         }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightFloorMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightFloorMenuControl.cs
index 9238cc3..4ed629e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightFloorMenuControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightFloorMenuControl.cs
@@ -35,6 +35,10 @@
         /// 琛屾暟
         /// </summary>
         private int RowCount = 0;
+        /// <summary>
+        /// 褰撳墠妤煎眰id
+        /// </summary>
+        private string nowFloorId = string.Empty;
 
         #endregion
 
@@ -48,9 +52,11 @@
         /// <para>1: 395瀹藉害</para>
         /// <para>2: 449瀹藉害</para>
         /// </param>
+        /// <param name="i_floorId">褰撳墠閫夋嫨鐨勬ゼ灞侷D</param>
         /// <param name="titleText">鏍囬鏂囨湰(濡傛灉涓嶄负绌�,鑿滃崟妯″紡鍙樻洿涓烘嫢鏈夋爣棰樼殑妯″紡)</param>
-        public TopRightFloorMenuControl(int i_RowCount, int i_widthType, string titleText = null)
+        public TopRightFloorMenuControl(int i_RowCount, int i_widthType,string i_floorId, string titleText = null)
         {
+            this.nowFloorId = i_floorId;
             this.RowCount = i_RowCount;
             if (i_widthType == 1)
             {
@@ -162,7 +168,7 @@
                 btnLine.X = Application.GetRealWidth(81);
             }
 
-            if (floorId == Common.Config.Instance.Home.CurrentFloorId)
+            if (this.nowFloorId == floorId)
             {
                 //褰撳墠妤煎眰榛樿璁剧疆涓洪�夋嫨鐘舵��
                 this.SetRowSelectStatu(rowFrame, true);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs
index 6ff45d2..ee4a454 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs
@@ -137,7 +137,7 @@
                             this.RefreshDfunctionType();
 
                             //璁惧鏀瑰彉鍔熻兘绫诲瀷鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                            UserView.UserPage.Instance.RefreshForm = true;
+                            UserView.UserPage.Instance.RefreshAllForm = true;
 
                             //璋冪敤鍥炶皟鍑芥暟
                             this.FinishSelectEvent?.Invoke(nowSelectNo);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs
index 5582faa..e39e4e8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneRoomControl.cs
@@ -79,7 +79,7 @@
             var room = HdlRoomLogic.Current.GetRoomBySceneId(this.SceneId);
             if (room != null)
             {
-                btnRoom.Text = room.Name;
+                btnRoom.Text = HdlRoomLogic.Current.GetRoomName(room);
             }
             else
             {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
index 797741b..4d6cefc 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
@@ -38,7 +38,7 @@
                 //濡傛灉娌℃湁鑷姩澶囦唤鏁版嵁,鍒欐妸鏈湴鍏ㄩ儴涓滆タ涓婁紶
                 var pathTemp = DirNameResourse.AutoBackupDirectory;
                 //澶嶅埗鏈湴鎵�鏈夋枃浠惰繃鍘�
-                List<string> listAllFile = Global.FileListByHomeId();
+                List<string> listAllFile = HdlFileLogic.Current.GetRootPathListFile();
                 foreach (string fileName in listAllFile)
                 {
                     string oldFile = System.IO.Path.Combine(Config.Instance.FullPath, fileName);
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs
index 5dc54a3..fffeefb 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs
@@ -245,7 +245,7 @@
             if (upPath == string.Empty)
             {
                 //鑾峰彇鏈湴鏂囦欢
-                listAllFile = Global.FileListByHomeId();
+                listAllFile = HdlFileLogic.Current.GetRootPathListFile();
                 fullDir = Common.Config.Instance.FullPath;
             }
             else
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs
index dcd359c..a73caea 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlExperienceAccountLogic.cs
@@ -168,8 +168,6 @@
             var listFloorKey = this.GetAllFloorKeys();
             var dicRoomName = this.GetRoomSampleList();
 
-            //璁剧疆鍒濆妤煎眰
-            Config.Instance.Home.CurrentFloorId = listFloorKey[0];
             foreach (string floorKey in listFloorKey)
             {
                 foreach (string roomId in dicRoomName.Keys)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs
index 544d769..ecaf58d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFileLogic.cs
@@ -212,21 +212,37 @@
                 return new List<string>();
             }
 
-            List<string> list = new List<string>();
-            var files = System.IO.Directory.GetFiles(directory);
-            foreach (var file in files)
+            var list = new List<string>();
+            try
             {
-                string fileName = file;
-                if (onlyFileName == true)
+                //2020.07.10鐨勬椂鍊�,鍑虹幇杩囪幏鍙栧け璐ュ紓甯� 鎻愮ず:write fault on path
+                var files = System.IO.Directory.GetFiles(directory);
+                foreach (var file in files)
                 {
-                    fileName = fileName.Substring(directory.Length + 1);
+                    string fileName = file;
+                    if (onlyFileName == true)
+                    {
+                        fileName = fileName.Substring(directory.Length + 1);
+                    }
+                    list.Add(fileName);
                 }
-                list.Add(fileName);
             }
+            catch (Exception ex)
+            { HdlLogLogic.Current.WriteLog(ex); }
+
             return list;
         }
 
         /// <summary>
+        /// 鑾峰彇鏍圭洰褰曠殑鍏ㄩ儴鏂囦欢鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public List<string> GetRootPathListFile()
+        {
+            return this.GetFileFromDirectory(Common.Config.Instance.FullPath);
+        }
+
+        /// <summary>
         /// 灏嗘寚瀹氭枃浠跺す閲岄潰鐨勫叏閮ㄦ枃浠剁Щ鍔ㄥ埌褰撳墠浣忓畢鐨勬枃浠跺す鍐�
         /// </summary>
         /// <param name="fulldirectory">鏂囦欢澶瑰叏璺緞</param>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
index 275a2cc..22eced4 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
@@ -226,7 +226,7 @@
                 return false;
             }
             //娣诲姞缃戝叧鐨勮瘽,寮哄埗涓婚〉鍒锋柊
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             return true;
         }
@@ -546,7 +546,7 @@
             }
 
             //娣诲姞缃戝叧鐨勮瘽,寮哄埗涓婚〉鍒锋柊
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             return 1;
         }
@@ -621,7 +621,7 @@
             //鍒囨崲缃戝叧,淇濆瓨缂撳瓨
             this.SaveGatewayIdToLocation(gatewayId);
             //鍒囨崲缃戝叧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             return true;
         }
@@ -983,7 +983,7 @@
         public List<string> GetAllGatewayFile()
         {
             List<string> list = new List<string>();
-            List<string> listFile = Global.FileListByHomeId();
+            List<string> listFile = HdlFileLogic.Current.GetRootPathListFile();
             foreach (string file in listFile)
             {
                 //鍙幏鍙栫綉鍏宠澶�
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlResidenceLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlResidenceLogic.cs
index 2e85454..64b64c5 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlResidenceLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlResidenceLogic.cs
@@ -160,7 +160,7 @@
             home.Name = residenceName;
             home.Save();
             //浣忓畢淇敼鍚嶇О鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
         }
 
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs
index a777b63..38c531b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs
@@ -62,7 +62,7 @@
             //妫�娴嬫垜鐨勫枩鐖辫繖涓埧闂村璞�
             this.CheckLoveRoom();
 
-            var listFile = Global.FileListByHomeId();
+            var listFile = HdlFileLogic.Current.GetRootPathListFile();
             foreach (var fileName in listFile)
             {
                 if (fileName.StartsWith("Room_") == true)
@@ -75,8 +75,6 @@
                     }
                 }
             }
-            //璁剧疆褰撳墠妤煎眰鐨処D
-            Config.Instance.Home.SetCurrentFloorId();
             //椤轰究鍒锋柊鍦烘櫙
             HdlSceneLogic.Current.ReFreshByLocal();
             //鍒锋柊鎴块棿瑙嗗浘鍒楄〃
@@ -88,7 +86,7 @@
         /// </summary>
         public void RefreshAllRoomByLocation()
         {
-            var listFile = Global.FileListByHomeId();
+            var listFile = HdlFileLogic.Current.GetRootPathListFile();
 
             //鎴戠殑鍠滅埍鐨勬埧闂村繀椤昏鍦ㄧ0浣嶆墠琛�
             string fRoom = "Room_Favorite.json";
@@ -242,6 +240,17 @@
         /// <returns></returns>
         public void RemoveRoom(string roomId, bool refreshLeftView = true)
         {
+            if (this.NowMainPageRoom != null && this.NowMainPageRoom.Id == roomId)
+            {
+                //褰撳垹闄ょ殑鏄富椤电殑鎴块棿鐨勬椂鍊�
+                this.NowMainPageRoom = this.GetLoveRoom();
+            }
+            if (this.NowCategoryRoom != null && this.NowCategoryRoom.Id == roomId)
+            {
+                //褰撳垹闄ょ殑鏄垎绫荤殑鎴块棿鐨勬椂鍊�
+                this.NowCategoryRoom = this.GetLoveRoom();
+            }
+
             //鏍规嵁鎴块棿Id锛岃幏鍙栨埧闂村璞�
             var room = this.GetRoomById(roomId);
             if (room == null)
@@ -482,7 +491,7 @@
                     }
                 }
             }
-            return listRoom;
+            return this.SortRoom(listRoom);
         }
 
         /// <summary>
@@ -497,35 +506,6 @@
                 listRoom.Add(room);
             }
             return this.SortRoom(listRoom);
-        }
-
-        /// <summary>
-        /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂村悕绉�
-        /// </summary>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        public List<string> GetRoomNamesByFloorId(string id)
-        {
-            var listName = new List<string>();
-            if (Config.Instance.Home.FloorDics.Count == 0)
-            {
-                //娌℃湁妤煎眰
-                foreach (var room in this.dicRooms.Values)
-                {
-                    listName.Add(room.Name);
-                }
-            }
-            else
-            {
-                foreach (var room in this.dicRooms.Values)
-                {
-                    if (room.FloorId == id)
-                    {
-                        listName.Add(room.Name);
-                    }
-                }
-            }
-            return listName;
         }
 
         /// <summary>
@@ -557,17 +537,10 @@
                     }
                 }
             }
+            listRoom = this.SortRoom(listRoom);
+
             listRoom.Insert(0, GetLoveRoom());
             return listRoom;
-        }
-
-        /// <summary>
-        /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂�(鎷兼帴浜嗐�愬父鐢ㄣ�戝湪绗竴浣�)
-        /// </summary>
-        /// <returns></returns>
-        public List<Room> GetRoomsByCurrentFloorIdAppendLoveRoom()
-        {
-            return this.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId);
         }
 
         #endregion
@@ -590,7 +563,7 @@
                 //绉婚櫎鎴戠殑鍠滅埍
                 this.DeleteLoveDevice(device);
                 //璁惧鏀瑰彉鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                UserView.UserPage.Instance.RefreshForm = true;
+                UserView.UserPage.Instance.RefreshAllForm = true;
                 return;
             }
             //鎴块棿鏄惁淇敼
@@ -608,7 +581,7 @@
                 this.AddDevice(room, device, saveRealRoom);
             }
             //璁惧鏀瑰彉鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
         }
 
         /// <summary>
@@ -681,6 +654,8 @@
                     //淇濆瓨鍒版湰鍦�
                     loveRoom.ListDevice.Add(mainkeys);
                     loveRoom.Save();
+                    //娣诲姞鏀惰棌璁惧鏃�,闇�瑕佸埛鏂颁富椤�
+                    UserView.UserPage.Instance.RefreshAllForm = true;
                 }
             }
         }
@@ -744,6 +719,8 @@
                 loveRoom.Save();
                 //鏇存敼鑷姩澶囦唤
                 HdlAutoBackupLogic.AddOrEditorFile(loveRoom.FileName);
+                //娣诲姞鏀惰棌璁惧鏃�,闇�瑕佸埛鏂颁富椤�
+                UserView.UserPage.Instance.RefreshAllForm = true;
             }
         }
 
@@ -1021,6 +998,11 @@
         /// <returns></returns>
         public Dictionary<string, string> GetFloorSortList()
         {
+            //娌℃湁妤煎眰
+            if (Config.Instance.Home.FloorDics.Count == 0)
+            {
+                return new Dictionary<string, string>();
+            }
             //浠庝竴鍫嗘枃瀛椾腑,鑾峰彇杩欎竴鍫嗘枃瀛楅噷闈㈡暟瀛楀瓧绗︿覆鐨勬渶闀块暱搴�
             var listName = new List<string>();
             foreach (var floorName in Config.Instance.Home.FloorDics.Values)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
index aaeab0e..402cf70 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
@@ -403,6 +403,8 @@
             {
                 nowRoom.ListSceneId.Add(scene.Id);
                 nowRoom.Save();
+                //娣诲姞鏀惰棌鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤�
+                UserView.UserPage.Instance.RefreshAllForm = true;
             }
         }
 
@@ -616,6 +618,8 @@
                     HdlAutoBackupLogic.DeleteFile(sceneUI.IconPath);
                 }
             }
+            //鍒犻櫎鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤�
+            UserView.UserPage.Instance.RefreshAllForm = true;
         }
 
         /// <summary>
@@ -660,6 +664,8 @@
             {
                 nowRoom.ListSceneId.Remove(scene.Id);
                 nowRoom.Save();
+                //鍙栨秷鏀惰棌鍦烘櫙鏃�,闇�瑕佸埛鏂颁富椤�
+                UserView.UserPage.Instance.RefreshAllForm = true;
             }
         }
 
@@ -960,7 +966,7 @@
         public List<string> GetAllSceneFile()
         {
             List<string> listSceneFile = new List<string>();
-            List<string> listAllFile = Global.FileListByHomeId();
+            List<string> listAllFile = HdlFileLogic.Current.GetRootPathListFile();
 
             foreach (string file in listAllFile)
             {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
index 3a55f87..9091b23 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlShardLogic.cs
@@ -343,7 +343,7 @@
             //娓呯┖妤煎眰鏁版嵁
             Common.Config.Instance.Home.FloorDics.Clear();
             //鐒跺悗妫�娴嬫湰鍦扮殑鏂囦欢
-            var listLocalFile = Global.FileListByHomeId();
+            var listLocalFile = HdlFileLogic.Current.GetRootPathListFile();
             foreach (string fileName in listLocalFile)
             {
                 if (fileName == DirNameResourse.ShardFloorFile)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
index 062c873..bf5c4b9 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -770,7 +770,7 @@
         public static bool InitUserCenterMenmoryAndThread(bool ShowPrompted = true)
         {
             //璋冪敤杩欎釜鏂规硶,閮介渶瑕侀噸鏂板埛鏂颁富椤�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             //娣诲姞缃戠粶鐘舵�佺洃鍚�
             HdlWifiLogic.Current.StartListenNetWork();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs
index 5c66c54..5cdd8b4 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs
@@ -17,9 +17,13 @@
         /// </summary>
         public Action FloorAction = null;
         /// <summary>
-        /// 閫変腑鐨勬ゼ灞傚洖璋僛
+        /// 閫変腑鐨勬ゼ灞傚洖璋�
         /// </summary>
         public Action<string, Button> ChooseFloorAction = null;
+        /// <summary>
+        ///  閲嶆柊鍔犺浇
+        /// </summary>
+        public Action ReLoadAction = null;
 
         public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
         public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1925 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
@@ -95,7 +99,7 @@
             btnTitle.Text = titleText;
         }
         /// <summary>
-        /// 闂ㄩ攣涓儴甯冨眬
+        /// 涓儴甯冨眬
         /// </summary>
         /// <param name="frameLayout"></param>
         public void MidFrameLayout(FrameLayout frameLayout)
@@ -106,7 +110,7 @@
         }
 
         /// <summary>
-        /// 闂ㄩ攣搴曢儴甯冨眬
+        /// 搴曢儴甯冨眬
         /// </summary>
         /// <param name="frameLayout"></param>
         public void BottomFrameLayout(FrameLayout frameLayout)
@@ -118,6 +122,28 @@
                 BackgroundColor = ZigbeeColor.Current.XMWhite,
             };
             this.midFrameLayout.AddChidren(bottomFrameLayout1);
+        }
+
+        /// <summary>
+        /// 鏄剧ず閲嶆柊鍔犺浇鐨勭晫闈�(涓昏鏄敤鍦ㄧ晫闈㈠姞杞介敊璇椂锛屽啀娆″姞杞�)
+        /// </summary>
+        public void ShowReLoadView()
+        {
+            var frame = new FrameLayout();
+            frame.BackgroundColor = UserCenterColor.Current.White;
+            frame.Tag = "ReLoadView";
+            this.midFrameLayout.AddChidren(frame);
+
+            //閲嶆柊鍔犺浇
+            var btnReLoad = new BottomClickButton();
+            btnReLoad.Gravity = Gravity.Center;
+            btnReLoad.TextID = R.MyInternationalizationString.uDoReload;
+            frame.AddChidren(btnReLoad);
+            btnReLoad.ButtonClickEvent += (sender, e) =>
+            {
+                ReLoadAction?.Invoke();
+                ReLoadAction = null;
+            };
         }
 
         /// <summary>
@@ -134,7 +160,6 @@
             btnFloorText = new Button
             {
                 Width = Application.GetRealWidth(300 - 69 - 58),
-                Text = Language.StringByID(R.MyInternationalizationString.FirstFloor),
                 TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                 TextSize = 14,
                 IsBold = true,
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs
index 12546e0..ee1cf2c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs
@@ -274,10 +274,10 @@
         }
 
         /// <summary>
-        /// 鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂村垪琛�
+        /// 鑾峰彇鏀寔鐨勬埧闂村垪琛�
         /// </summary>
         /// <returns></returns>
-        public static List<Room> GetFloorRoomList()
+        public static List<Room> GetSupportRoomList()
         {
             var supportRoomListTemp = new List<Room>();
             var listAllRoom = HdlRoomLogic.Current.GetAllListRooms();
@@ -347,10 +347,7 @@
                                 var device = LocalDevice.Current.GetDevice(de);
                                 if (device != null)
                                 {
-                                    //鑾峰彇璁惧绫诲瀷鐨�
-                                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
-                                    //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず
-                                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+                                    if (BindInfo.checkRealFreshAirDevice(device) == false)
                                     {
                                         continue;
                                     }
@@ -711,7 +708,7 @@
         {
             bool result = true;
             //鑾峰彇璁惧绫诲瀷鐨�
-            var clu = device.OutClusterList.Find((obj) => obj.OutCluster == 513);
+            var clu = device.OutClusterList.Find((obj) => obj.OutCluster == 513 || obj.OutCluster == 514);
             if (clu != null)
             {
                 result = false;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
index fdba54a..1278976 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -525,6 +525,10 @@
                                         }
                                     }
                                 }
+                                else
+                                {
+                                    btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
+                                }
 
                                 devicePic.UnSelectedImagePath = tempDev.IconPath;
                                 devicePic.Text = "";
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/MutilfunctionPanelMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/MutilfunctionPanelMethod.cs
index c1bac93..1fced47 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/MutilfunctionPanelMethod.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/MutilfunctionPanelMethod.cs
@@ -54,6 +54,10 @@
                 foreach (var bDev in bList)
                 {
                     var device = LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
+                    if (device == null)
+                    {
+                        continue;
+                    }
                     switch (curBindType)
                     {
                         case 0:
@@ -128,7 +132,6 @@
                                     //绌鸿皟缁戝畾绫诲瀷
                                     if (device.Type == DeviceType.Thermostat && bDev.BindCluster == 513)
                                     {
-                                        //Thermostat鏄┖璋�
                                         tempList.Add(bDev);
                                     }
                                 }
@@ -223,6 +226,10 @@
                 foreach (var bDev in bList)
                 {
                     var device = LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
+                    if (device == null)
+                    {
+                        continue;
+                    }
                     switch (curBindType)
                     {
                         case 0:
@@ -296,7 +303,6 @@
                                     //绌鸿皟缁戝畾绫诲瀷
                                     if (device.Type == DeviceType.Thermostat && bDev.BindCluster == 513)
                                     {
-                                        //Thermostat鏄┖璋�
                                         tempList.Remove(bDev.KeyEpoint);
                                     }
                                 }
@@ -393,10 +399,10 @@
                                                 roomIncludeMatchDevice.Add(device);
                                             }
                                         }
-                                        if (device.Type == DeviceType.DimmableLight)
-                                        {
-                                            roomIncludeMatchDevice.Add(device);
-                                        }
+                                        //if (device.Type == DeviceType.DimmableLight)
+                                        //{
+                                        //    roomIncludeMatchDevice.Add(device);
+                                        //}
                                         break;
                                     case 4:
                                         if (device.Type == DeviceType.WindowCoveringDevice)
@@ -407,7 +413,10 @@
                                     case 5:
                                         if (device.Type == DeviceType.Thermostat)
                                         {
-                                            //Thermostat鏄┖璋�
+                                            if (BindInfo.checkRealAcDevice(device) == false)
+                                            {
+                                                continue;
+                                            }
                                             roomIncludeMatchDevice.Add(device);
                                         }
                                         break;
@@ -579,10 +588,10 @@
                                 {
                                     currentPanelBindSupportDeviceListTemp.Add(device);
                                 }
-                                if (device.Type == DeviceType.DimmableLight)
-                                {
-                                    currentPanelBindSupportDeviceListTemp.Add(device);
-                                }
+                                //if (device.Type == DeviceType.DimmableLight)
+                                //{
+                                //    currentPanelBindSupportDeviceListTemp.Add(device);
+                                //}
                                 break;
                             case 4:
                                 if (device.Type == DeviceType.WindowCoveringDevice)
@@ -593,7 +602,10 @@
                             case 5:
                                 if (device.Type == DeviceType.Thermostat)
                                 {
-                                    //Thermostat鏄┖璋�
+                                    if (BindInfo.checkRealAcDevice(device) == false)
+                                    {
+                                        continue;
+                                    }
                                     currentPanelBindSupportDeviceListTemp.Add(device);
                                 }
                                 break;
@@ -715,10 +727,6 @@
                                     undistruibuteDevList.Add(device);
                                 }
                             }
-                            if (device.Type == DeviceType.DimmableLight)
-                            {
-                                undistruibuteDevList.Add(device);
-                            }
                             break;
                         case 4:
                             if (device.Type == DeviceType.WindowCoveringDevice)
@@ -729,7 +737,10 @@
                         case 5:
                             if (device.Type == DeviceType.Thermostat)
                             {
-                                //Thermostat鏄┖璋�
+                                if (BindInfo.checkRealAcDevice(device) == false)
+                                {
+                                    continue;
+                                }
                                 undistruibuteDevList.Add(device);
                             }
                             break;
@@ -826,21 +837,12 @@
                                     curRoomDeviceListTemp.Add(device);
                                 }
                             }
-                            if (device.Type == DeviceType.DimmableLight)
-                            {
-                                if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
-                                {
-                                    //Thermostat鏄┖璋�
-                                    curRoomDeviceListTemp.Add(device);
-                                }
-                            }
                             break;
                         case 4:
                             if (device.Type == DeviceType.WindowCoveringDevice)
                             {
                                 if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
                                 {
-                                    //Thermostat鏄┖璋�
                                     curRoomDeviceListTemp.Add(device);
                                 }
                             }
@@ -848,11 +850,11 @@
                         case 5:
                             if (device.Type == DeviceType.Thermostat)
                             {
-                                if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+                                if (BindInfo.checkRealAcDevice(device) == false)
                                 {
-                                    //Thermostat鏄┖璋�
-                                    curRoomDeviceListTemp.Add(device);
+                                    continue;
                                 }
+                                curRoomDeviceListTemp.Add(device);
                             }
                             break;
                         case 6:
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs
index d7e25e7..7fdf549 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs
@@ -93,7 +93,7 @@
         /// <summary>
         /// 妤煎眰鍒楄〃
         /// </summary>
-        Dictionary<string, string> dicFloorList;
+        Dictionary<string, string> dicFloorList = new Dictionary<string, string> { };
         /// <summary>
         /// 鎵�鏈夋埧闂翠腑鏀寔琚粦瀹氱殑璁惧鍒楄〃
         /// </summary>
@@ -130,7 +130,10 @@
         /// Ac缁戝畾鐩爣鍥炶皟
         /// </summary>
         public Action<string> actionAcTarget = null;
-
+        /// <summary>
+        /// 鏄惁鑳藉埛鏂�
+        /// </summary>
+        private bool canFresh = false;
         #endregion
 
         #region UI璁捐
@@ -143,6 +146,7 @@
             //鏍囬鏍忎笅鐨刄I
             MidFrameLayoutContent();
             //鍒濆鍖栬澶囨暟鎹�
+            CommonPage.Loading.Start("");
             InitData();
         }
 
@@ -184,7 +188,7 @@
         /// <summary>
         /// 涓儴UI銆愭爣棰樻爮涓嬬殑UI銆�
         /// </summary>
-        async void MidFrameLayoutContent()
+        void MidFrameLayoutContent()
         {
             var btnMidTopLayout = new FrameLayout
             {
@@ -208,6 +212,7 @@
             this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
             midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () =>
             {
+                canFresh = true;
                 midVerticalScrolViewLayout.BeginHeaderRefreshing();
                 InitData();
             };
@@ -221,20 +226,24 @@
             };
             this.midFrameLayout.AddChidren(bottomFrameLayout);
 
+            var bottomTipPicFrameLayout = new FrameLayout()
+            {
+                Height = Application.GetMinReal(40 + 44 - 10),
+            };
+            bottomFrameLayout.AddChidren(bottomTipPicFrameLayout);
+
             var btnTipPicFrameLayout = new FrameLayout()
             {
-                Width = Application.GetMinReal(40 + 23 + 37),
+                Width = Application.GetMinReal(23 + 37),
                 Height = Application.GetMinReal(40 + 44 - 10),
-                X = Application.GetMinReal(383 - 37),
             };
-            bottomFrameLayout.AddChidren(btnTipPicFrameLayout);
+            bottomTipPicFrameLayout.AddChidren(btnTipPicFrameLayout);
 
             btnTipPic = new Button()
             {
                 Width = Application.GetMinReal(40),
                 Height = Application.GetMinReal(40),
-                X = Application.GetMinReal(40),
-                Y = Application.GetRealHeight(22),
+                Y = Application.GetRealHeight(19),
                 UnSelectedImagePath = "BindPic/EmptyTargets.png",
                 SelectedImagePath = "BindPic/EmptyTargetsSelected.png",
             };
@@ -243,14 +252,16 @@
             btnTipText = new Button()
             {
                 Height = Application.GetRealHeight(84 - 10),
-                X = Application.GetMinReal(444),
+                X = Application.GetMinReal(58),
                 Width = Application.GetMinReal(1080 - 446),
                 TextID = R.MyInternationalizationString.BindEmptyTargets,
-                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,//XMTopTitleText
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                 TextSize = 12,
                 TextAlignment = TextAlignment.CenterLeft,
             };
-            bottomFrameLayout.AddChidren(btnTipText);
+            bottomTipPicFrameLayout.AddChidren(btnTipText);
+            bottomTipPicFrameLayout.Width = btnTipPicFrameLayout.Width + Application.GetMinReal(2) + btnTipText.GetTextWidth();
+            bottomTipPicFrameLayout.Gravity = Gravity.CenterHorizontal;
 
             EventHandler<MouseEventArgs> eHandlerEmptyTargets = (sender, e) =>
             {
@@ -306,20 +317,19 @@
         void RefreshRoomList()
         {
             Room curRoom = null;
-            if (supportRoomList.Count == 0)
-            {
-                return;
-            }
             btnHorizontalScrolViewLayout.RemoveAll();
             Button curentOldRoom = null;
             FrameLayout curentOldRoomFrameLayout = null;
             int index = 0;
-            var roomTempList = BindInfo.GetSupportRoomList(curControlDev, supportRoomList, curDeviceBindType);
             Room slectedRoom = null;
-
             var roomUn = new Room();
             roomUn.Name = Language.StringByID(R.MyInternationalizationString.Undistributed);
             roomUn.Id = "UndistributedId";
+            List<Room> roomTempList = new List<Room> { };
+            if (supportRoomList.Count != 0)
+            {
+                roomTempList = BindInfo.GetSupportRoomList(curControlDev, supportRoomList, curDeviceBindType);
+            }
             if (undistruibuteDevList.Count != 0)
             {
                 roomTempList.Add(roomUn);
@@ -445,6 +455,8 @@
                     var btn = (Button)frame.GetChildren(0);
                     frame.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
                     btn.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
+                    curentOldRoom = btn;
+                    curentOldRoomFrameLayout = frame;
                 }
                 else
                 {
@@ -464,7 +476,6 @@
             midVerticalScrolViewLayout.RemoveAll();
             Button oldDevice = null;
             int curIndex = 0;
-
             if (curRoom.Id == "UndistributedId")
             {
                 currentRoomSupportBindDeviceList = BindInfo.GetUndistributeDeviceList(undistruibuteDevList, curDeviceBindType);
@@ -640,6 +651,26 @@
                 btnChoose.MouseUpEventHandler += hander;
                 curIndex++;
             }
+
+            //棣栨鏄惁鑳界偣鍑讳繚瀛�
+            if (targetList.Count == 0)
+            {
+                if (targetListTemp.Count == 0)
+                {
+                    btnFinifh.Enable = false;
+                    btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
+                }
+                else
+                {
+                    btnFinifh.Enable = true;
+                    btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                }
+            }
+            else
+            {
+                btnFinifh.Enable = true;
+                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+            }
         }
 
         #endregion
@@ -648,23 +679,19 @@
         /// <summary>
         /// 鍒濆鍖栬澶囨暟鎹�
         /// </summary>
-        void InitData()
+        void InitData(bool canUpdateBindName = false)
         {
             System.Threading.Tasks.Task.Run(async () =>
             {
                 try
                 {
-                    Application.RunOnMainThread(() =>
-                    {
-                        CommonPage.Loading.Start("");
-                    });
                     //鑾峰彇琚粦鐩爣绛変俊鎭�
                     BindDevInfo(curBindDevice);
 
-                    //鑾峰彇妤煎眰
+                    //鑾峰彇妤煎眰    
                     dicFloorList = HdlRoomLogic.Current.GetFloorSortList();
-                    //鑾峰彇妤煎眰涓埧闂村垪琛�
-                    supportRoomList = BindInfo.GetFloorRoomList();
+                    //鑾峰彇鎴块棿鍒楄〃
+                    supportRoomList = BindInfo.GetSupportRoomList();
 
                     //鑾峰彇鎵�鏈夋埧闂翠腑鍖归厤鐨勮兘缁戠殑鐩爣
                     currentPanelSupportBindDeviceList = BindInfo.GetAllRoomSupportDeviceList(currentPanelSupportBindDeviceList, supportRoomList, curDeviceBindType);
@@ -685,13 +712,27 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            CommonPage.Loading.Hide();
+                            canFresh = false;
                             midVerticalScrolViewLayout.EndHeaderRefreshing();
+                            CommonPage.Loading.Hide();
                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+
+                            this.midFrameLayout.RemoveAll();
+
+                            ShowReLoadView();
+                            ReLoadAction += () =>
+                            {
+                                this.midFrameLayout.RemoveAll();
+                                //鍒濆鍖栬澶囨暟鎹�
+                                CommonPage.Loading.Start("");
+                                MidFrameLayoutContent();
+                                InitData(true);
+                            };
+
                         });
                     }
 
-                    targetList.Clear();
+                    oldTargetList.Clear();
                     //閫変腑鐩爣鍒楄〃 targetList
                     if (curControlDev.bindList.Count != 0)
                     {
@@ -700,7 +741,7 @@
                             var mainKey = bindDev.BindMacAddr + bindDev.BindEpoint;
 
                             //鍒嗛厤鐨勭洰鏍囧垪琛�
-                            if (currentPanelSupportBindDeviceList.Count != 0)
+                            if (Shared.Common.LocalDevice.Current.listAllDevice.Count != 0)
                             {
                                 var dev = currentPanelSupportBindDeviceList.Find(obj => (obj != null) && (obj.DeviceAddr + obj.DeviceEpoint == mainKey));
                                 if (dev != null)
@@ -738,31 +779,44 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        BindDownFrameLayout(this.midFrameLayout, curControlDev, dicFloorList, ref btnFloorText);
+                        //妤煎眰渚ц竟鏍忕粦瀹�
+                        if (!canFresh)
+                        {
+                            BindDownFrameLayout(this.midFrameLayout, curControlDev, dicFloorList, ref btnFloorText);
+                        }
                         ChooseFloorAction += (floorId, btnMethodText) =>
                         {
+                            btnFloorText.Text = string.Empty;
                             btnFloorText.Text = dicFloorList[floorId];
-                            //鑾峰彇妤煎眰涓埧闂村垪琛�
-                            supportRoomList = BindInfo.GetFloorRoomList();
+                            //鑾峰彇鎴块棿鍒楄〃
+                            supportRoomList = BindInfo.GetSupportRoomList();
                             //鑾峰彇鏈湴鏈垎閰嶇殑鏀寔褰撳墠绫诲瀷鐨勭粦瀹氳澶囧垪琛�
                             undistruibuteDevList = BindInfo.GetUndistributeDeviceList(undistruibuteDevList, curDeviceBindType);
                             RefreshRoomList();
                         };
+
+                        //榛樿妤煎眰鏄剧ず
+                        if (BindInfo.GetCurrentSelectFloorIdName() != null)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
+                            });
+                        }
 
                         //棣栨鏄惁鑳界偣鍑讳繚瀛�
                         if (targetList.Count == 0)
                         {
                             curControlDev.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
                             curControlDev.currentSelectRoomId = null;
-                            if (BindInfo.GetCurrentSelectFloorIdName() != null)
-                            {
-                                Application.RunOnMainThread(() =>
-                                {
-                                    btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
-                                });
-                            }
                             btnFinifh.Enable = false;
                             btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
+
+                            //鏇存柊澶栭潰鐩爣鍚嶅瓧锛氭棤
+                            if (canUpdateBindName)
+                            {
+                                TargesBindName();
+                            }
                         }
                         else
                         {
@@ -785,6 +839,28 @@
                                         curControlDev.currentSelectRoomId = "UndistributedId";
                                     }
                                 }
+
+                                if (canUpdateBindName)
+                                {
+                                    //鏇存柊澶栭潰鐩爣鍚嶅瓧锛氬叿浣撳悕瀛椼�愬埛鏂版湰鍦扮晫闈細瀵艰嚧澶栭儴鐩爣鍙樺寲銆�
+                                    string bindName = Common.LocalDevice.Current.GetDeviceEpointName(dev);
+                                    switch (curDeviceBindType)
+                                    {
+                                        case BindInfo.BindType.Temperature:
+                                            if (dev.Type == DeviceType.PMSensor)
+                                            {
+                                                bindName += "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
+                                            }
+                                            break;
+                                        case BindInfo.BindType.Humidity:
+                                            if (dev.Type == DeviceType.PMSensor)
+                                            {
+                                                bindName += "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+                                            }
+                                            break;
+                                    }
+                                    TargesBindName(bindName);
+                                }
                             }
                             if (!string.IsNullOrEmpty(curControlDev.currentSelectFloorId))
                             {
@@ -798,15 +874,11 @@
                             btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                         }
 
-
                         //鑾峰彇妤煎眰涓埧闂村垪琛�
-                        if (supportRoomList.Count != 0)
-                        {
-                            RefreshRoomList();
-                        }
-
-                        CommonPage.Loading.Hide();
+                        RefreshRoomList();
+                        canFresh = false;
                         midVerticalScrolViewLayout.EndHeaderRefreshing();
+                        CommonPage.Loading.Hide();
                     });
                 }
             });
@@ -827,75 +899,94 @@
                     try
                     {
                         Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
-
-                        if (oldTargetList.Count != 0)
+                        if (btnTipPic.IsSelected)
                         {
-                            //鍒犻櫎鍙栨秷鐨勭洰鏍�
-                            foreach (var bd in oldTargetList)
+                            //鍒犻櫎鎯呭喌1:缁戝畾绌虹洰鏍囧繀椤诲彇娑堟寜閿腑宸茬粡瀛樺湪鐨勭洰鏍�
+                            if (oldTargetList.Count != 0)
                             {
-                                var delDevice = new DelDeviceBindData();
-                                delDevice.DeviceAddr = curControlDev.DeviceAddr;
-                                delDevice.Epoint = curControlDev.DeviceEpoint;
+                                //鍒犻櫎鎸夐敭涓凡缁忕粦瀹氱殑鐩爣涓暟銆愬垹闄ゆ垚鍔熶釜鏁般��
+                                int sOldTargetListCount = 0;
 
-                                var removeDevice = new RemoveBindListObj();
-                                removeDevice.BindType = 0;
-                                switch (curDeviceBindType)
+                                foreach (var bd in oldTargetList)
                                 {
-                                    case BindInfo.BindType.FreshAir:
-                                        removeDevice.BindCluster = 514;
-                                        break;
-                                    case BindInfo.BindType.Temperature:
-                                        removeDevice.BindCluster = 1026;
-                                        break;
-                                    case BindInfo.BindType.Humidity:
-                                        removeDevice.BindCluster = 1029;
-                                        break;
-                                    case BindInfo.BindType.PM:
-                                        removeDevice.BindCluster = 1066;
-                                        break;
-                                    case BindInfo.BindType.AC:
-                                        removeDevice.BindCluster = 513;//Ac闇�瑕佺粦瀹�2涓皣513鍜�514
-                                        break;
-                                }
-                                removeDevice.BindMacAddr = bd.DeviceAddr;
-                                removeDevice.BindEpoint = bd.DeviceEpoint;
-                                delDevice.RemoveBindList.Add(removeDevice);
+                                    var delDevice = DelBindDevice(bd);
 
-                                if (curDeviceBindType == BindInfo.BindType.AC)
-                                {
-                                    //瑕佺Щ闄ょ┖璋冿細闇�瑕佺Щ闄�513锛�514
-                                    var removeDevice3 = new RemoveBindListObj();
-                                    removeDevice3.BindCluster = 514;
-                                    removeDevice3.BindType = 0;
-                                    removeDevice3.BindMacAddr = bd.DeviceAddr;
-                                    removeDevice3.BindEpoint = bd.DeviceEpoint;
-                                    delDevice.RemoveBindList.Add(removeDevice3);
-                                }
+                                    //姝ゆ鎸夐敭涓渶瑕佺Щ闄ょ殑鐩爣涓暟銆愬悓涓�涓洰鏍囨惡甯︾殑澶氫釜鍔熻兘鍒犻櫎鎴愬姛鐨勪釜鏁般��
+                                    int sRemoveBindListCount = 0;
 
-                                var delResult = new DelDeviceBindResponseAllData();
-                                delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
-                                if (delResult == null)
-                                {
-                                    Application.RunOnMainThread(() =>
+                                    var delResult = new DelDeviceBindResponseAllData();
+                                    delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
+                                    if (delResult == null)
                                     {
-                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                        btnFinifh.Enable = true;
-                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                        CommonPage.Loading.Hide();
-                                    });
-                                    return;
-                                }
-                                else
-                                {
-                                    if (delResult.removeBindResultResponseData == null)
-                                    {
-                                        if (delResult.delDeviceBindResponseData != null)
+                                        Application.RunOnMainThread(() =>
                                         {
-                                            foreach (var d in delResult.delDeviceBindResponseData.RemoveBindList)
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                            CommonPage.Loading.Hide();
+
+                                            ShowReLoadView();
+                                            ReLoadAction += () =>
                                             {
-                                                if (d.Result == 0 || d.Result == 1)
+                                                this.midFrameLayout.RemoveAll();
+                                                //鍒濆鍖栬澶囨暟鎹�
+                                                CommonPage.Loading.Start("");
+                                                MidFrameLayoutContent();
+                                                InitData(true);
+                                            };
+                                        });
+                                        return;
+                                    }
+                                    else
+                                    {
+                                        if (delResult.removeBindResultResponseData == null)
+                                        {
+                                            if (delResult.delDeviceBindResponseData != null)
+                                            {
+                                                foreach (var d in delResult.delDeviceBindResponseData.RemoveBindList)
                                                 {
-                                                    EmptyTargesMess();
+                                                    if (d.Result == 0 || d.Result == 1)
+                                                    {
+                                                        sRemoveBindListCount++;
+                                                        if (sRemoveBindListCount == delDevice.RemoveBindList.Count)
+                                                        {
+                                                            sOldTargetListCount++;
+                                                        }
+
+                                                        //鎸夐敭鐩爣涓殑璇ョ被鍨嬩釜鏁伴兘鍒犻櫎鎴愬姛
+                                                        if (sOldTargetListCount == oldTargetList.Count)
+                                                        {
+                                                            TargesBindName();
+                                                            Application.RunOnMainThread(() =>
+                                                            {
+                                                                CommonPage.Loading.Hide();
+                                                                btnFinifh.Enable = true;
+                                                                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                                                this.RemoveFromParent();
+                                                            });
+                                                        }
+                                                    }
+                                                    else
+                                                    {
+                                                        Application.RunOnMainThread(() =>
+                                                        {
+                                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                            btnFinifh.Enable = true;
+                                                            btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                                            CommonPage.Loading.Hide();
+                                                        });
+                                                        return;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                        else
+                                        {
+                                            if (delResult.removeBindResultResponseData.Result == 0)
+                                            {
+                                                sOldTargetListCount++;
+                                                //鎸夐敭鐩爣涓殑璇ョ被鍨嬩釜鏁伴兘鍒犻櫎鎴愬姛
+                                                if (sOldTargetListCount == oldTargetList.Count)
+                                                {
+                                                    TargesBindName();
                                                     Application.RunOnMainThread(() =>
                                                     {
                                                         CommonPage.Loading.Hide();
@@ -904,54 +995,26 @@
                                                         this.RemoveFromParent();
                                                     });
                                                 }
-                                                else
-                                                {
-                                                    Application.RunOnMainThread(() =>
-                                                    {
-                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                                        btnFinifh.Enable = true;
-                                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                                        CommonPage.Loading.Hide();
-                                                    });
-                                                    return;
-                                                }
                                             }
-                                        }
-                                    }
-                                    else
-                                    {
-                                        if (delResult.removeBindResultResponseData.Result == 0)
-                                        {
-                                            EmptyTargesMess();
-                                            Application.RunOnMainThread(() =>
+                                            else
                                             {
-                                                CommonPage.Loading.Hide();
-                                                btnFinifh.Enable = true;
-                                                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                                this.RemoveFromParent();
-                                            });
-
-                                        }
-                                        else
-                                        {
-                                            Application.RunOnMainThread(() =>
-                                            {
-                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                                btnFinifh.Enable = true;
-                                                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                                CommonPage.Loading.Hide();
-                                            });
-                                            return;
+                                                Application.RunOnMainThread(() =>
+                                                {
+                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                    btnFinifh.Enable = true;
+                                                    btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                                    CommonPage.Loading.Hide();
+                                                });
+                                                return;
+                                            }
                                         }
                                     }
                                 }
                             }
-                        }
-                        else
-                        {
-                            if (btnTipPic.IsSelected)
+                            else
                             {
-                                EmptyTargesMess();
+                                //鎸夐敭涓病鏈夌洰鏍囩洿鎺ョ粦瀹氱┖鐩爣
+                                TargesBindName();
                                 Application.RunOnMainThread(() =>
                                 {
                                     CommonPage.Loading.Hide();
@@ -959,22 +1022,6 @@
                                     btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                     this.RemoveFromParent();
                                 });
-                            }
-                            else
-                            {
-                                //娌℃湁鐩爣鎻愮ず
-                                Application.RunOnMainThread(() =>
-                                {
-                                    var myTip = new Tip();
-                                    myTip.Direction = AMPopTipDirection.None;
-                                    myTip.CloseTime = 2;
-                                    myTip.Text = Language.StringByID(R.MyInternationalizationString.BindDeviceTargetIsEmpty);
-                                    myTip.Show(Common.CommonPage.Instance);
-                                    btnFinifh.Enable = true;
-                                    btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                    CommonPage.Loading.Hide();
-                                });
-                                return;
                             }
                         }
                     }
@@ -986,6 +1033,8 @@
                             CommonPage.Loading.Hide();
                         });
                         btnFinifh.Enable = true;
+                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+
                     }
                 });
             }
@@ -1014,11 +1063,17 @@
                     {
                         Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
 
-                        //鍒犻櫎宸茬粡瀛樺湪鐨勭洰鏍�
+                        //鍒犻櫎鎯呭喌2:鎸夐敭涔嬪墠宸茬粡瀛樺湪鐨勭洰鏍�
                         if (oldTargetList.Count != 0)
                         {
+                            //鍒犻櫎鎸夐敭涓凡缁忕粦瀹氱殑鐩爣涓暟銆愬垹闄ゆ垚鍔熶釜鏁般��
+                            int sOldTargetListCount = 0;
+
                             foreach (var bd in oldTargetList)
                             {
+                                //姝ゆ鎸夐敭涓渶瑕佺Щ闄ょ殑鐩爣涓暟銆愬悓涓�涓洰鏍囨惡甯︾殑澶氫釜鍔熻兘鍒犻櫎鎴愬姛鐨勪釜鏁般��
+                                int sRemoveBindListCount = 0;
+
                                 var delDevice = DelBindDevice(bd);
                                 var delResult = new DelDeviceBindResponseAllData();
                                 delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
@@ -1028,9 +1083,17 @@
                                     Application.RunOnMainThread(() =>
                                     {
                                         new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                        btnFinifh.Enable = true;
-                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                         CommonPage.Loading.Hide();
+
+                                        ShowReLoadView();
+                                        ReLoadAction += () =>
+                                        {
+                                            this.midFrameLayout.RemoveAll();
+                                            //鍒濆鍖栬澶囨暟鎹�
+                                            CommonPage.Loading.Start("");
+                                            MidFrameLayoutContent();
+                                            InitData(true);
+                                        };
                                     });
                                     return;
                                 }
@@ -1053,84 +1116,43 @@
                                                     });
                                                     return;
                                                 }
+
+                                                sRemoveBindListCount++;
+                                                if (sRemoveBindListCount == delDevice.RemoveBindList.Count)
+                                                {
+                                                    sOldTargetListCount++;
+                                                }
                                             }
                                         }
                                     }
-                                }
-                                if (delResult != null && delResult.removeBindResultResponseData != null)
-                                {
-                                    if (delResult.removeBindResultResponseData.Result != 0)
+                                    else
                                     {
-                                        Application.RunOnMainThread(() =>
+                                        if (delResult.removeBindResultResponseData.Result != 0)
                                         {
-                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                            btnFinifh.Enable = true;
-                                            btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                            CommonPage.Loading.Hide();
-                                        });
-                                        return;
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                btnFinifh.Enable = true;
+                                                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                                CommonPage.Loading.Hide();
+                                            });
+                                            return;
+                                        }
+                                        sOldTargetListCount++;
                                     }
                                 }
                             }
-                        }
-                        else
-                        {
-                            //妫�娴嬪凡缁忕粦瀹氱殑鐩爣鏄惁涓嶅湪鏈湴鎴栬�呮病鏈夊垎閰嶅埌浠讳綍鎴块棿涓�
-                            //姝ゆ椂闇�瑕佸垹闄ゅ凡缁忚缁戝畾鍒扮洰鏍囷紝鎵嶈兘缁х画缁戝畾鏂扮洰鏍�
-                            if (curBindDevice != null)
-                            {
-                                var delDevice = DelBindDevice(curBindDevice);
-                                var delResult = new DelDeviceBindResponseAllData();
-                                delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
 
-                                if (delResult == null)
+                            if (sOldTargetListCount != oldTargetList.Count)
+                            {
+                                Application.RunOnMainThread(() =>
                                 {
-                                    Application.RunOnMainThread(() =>
-                                    {
-                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                        btnFinifh.Enable = true;
-                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                        CommonPage.Loading.Hide();
-                                    });
-                                    return;
-                                }
-                                else
-                                {
-                                    if (delResult.removeBindResultResponseData == null)
-                                    {
-                                        if (delResult.delDeviceBindResponseData != null)
-                                        {
-                                            foreach (var d in delResult.delDeviceBindResponseData.RemoveBindList)
-                                            {
-                                                if (d.Result != 0 && d.Result != 1)
-                                                {
-                                                    Application.RunOnMainThread(() =>
-                                                    {
-                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                                        btnFinifh.Enable = true;
-                                                        btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                                        CommonPage.Loading.Hide();
-                                                    });
-                                                    return;
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                                if (delResult != null && delResult.removeBindResultResponseData != null)
-                                {
-                                    if (delResult.removeBindResultResponseData.Result != 0)
-                                    {
-                                        Application.RunOnMainThread(() =>
-                                        {
-                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                            btnFinifh.Enable = true;
-                                            btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                            CommonPage.Loading.Hide();
-                                        });
-                                        return;
-                                    }
-                                }
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                    btnFinifh.Enable = true;
+                                    btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                                    CommonPage.Loading.Hide();
+                                });
+                                return;
                             }
                         }
 
@@ -1204,9 +1226,16 @@
                             {
                                 CommonPage.Loading.Hide();
                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
-                                btnFinifh.Enable = true;
-                                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                                return;
+
+                                ShowReLoadView();
+                                ReLoadAction += () =>
+                                {
+                                    this.midFrameLayout.RemoveAll();
+                                    //鍒濆鍖栬澶囨暟鎹�
+                                    CommonPage.Loading.Start("");
+                                    MidFrameLayoutContent();
+                                    InitData(true);
+                                };
                             });
                         }
                         else
@@ -1215,39 +1244,8 @@
                             {
                                 targetList.Clear();
                                 targetListTemp.Clear();
-                                switch (curDeviceBindType)
-                                {
-                                    case BindInfo.BindType.FreshAir:
-                                        if (actionFreshAirTarget != null)
-                                        {
-                                            actionFreshAirTarget(addBindeDev.BindName);
-                                        }
-                                        break;
-                                    case BindInfo.BindType.Temperature:
-                                        if (actionTemperatureTarget != null)
-                                        {
-                                            actionTemperatureTarget(addBindeDev.BindName);
-                                        }
-                                        break;
-                                    case BindInfo.BindType.Humidity:
-                                        if (actionHumidityTarget != null)
-                                        {
-                                            actionHumidityTarget(addBindeDev.BindName);
-                                        }
-                                        break;
-                                    case BindInfo.BindType.PM:
-                                        if (actionPMTarget != null)
-                                        {
-                                            actionPMTarget(addBindeDev.BindName);
-                                        }
-                                        break;
-                                    case BindInfo.BindType.AC:
-                                        if (actionAcTarget != null)
-                                        {
-                                            actionAcTarget(addBindeDev.BindName);
-                                        }
-                                        break;
-                                }
+
+                                TargesBindName(addBindeDev.BindName);
 
                                 Application.RunOnMainThread(() =>
                                 {
@@ -1308,9 +1306,9 @@
         }
 
         /// <summary>
-        /// 鐩爣涓虹┖鏃剁殑鏂囨湰鏄剧ず
+        /// 鐩爣涓烘枃鏈樉绀�
         /// </summary>
-        void EmptyTargesMess()
+        void EmptyTargesMess1()
         {
             switch (curDeviceBindType)
             {
@@ -1346,6 +1344,45 @@
                     break;
             }
         }
+        /// <summary>
+        /// 鐩爣涓烘枃鏈樉绀�
+        /// </summary>
+        void TargesBindName(string name = "")
+        {
+            switch (curDeviceBindType)
+            {
+                case BindInfo.BindType.FreshAir:
+                    if (actionFreshAirTarget != null)
+                    {
+                        actionFreshAirTarget(name);
+                    }
+                    break;
+                case BindInfo.BindType.Temperature:
+                    if (actionTemperatureTarget != null)
+                    {
+                        actionTemperatureTarget(name);
+                    }
+                    break;
+                case BindInfo.BindType.Humidity:
+                    if (actionHumidityTarget != null)
+                    {
+                        actionHumidityTarget(name);
+                    }
+                    break;
+                case BindInfo.BindType.PM:
+                    if (actionPMTarget != null)
+                    {
+                        actionPMTarget(name);
+                    }
+                    break;
+                case BindInfo.BindType.AC:
+                    if (actionAcTarget != null)
+                    {
+                        actionAcTarget(name);
+                    }
+                    break;
+            }
+        }
 
         /// <summary>
         /// 缁戝畾鐩爣鍒楄〃
@@ -1364,7 +1401,6 @@
                     {
                         if (device.Type == DeviceType.FreshAir)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
@@ -1375,7 +1411,6 @@
                         var bDev = device as TemperatureSensor;
                         if (bDev.SensorDiv == 1)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
@@ -1383,7 +1418,6 @@
                     {
                         if (bindDev.BindCluster == 1026)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
@@ -1394,20 +1428,17 @@
                         var bDev = device as TemperatureSensor;
                         if (bDev.SensorDiv == 2)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
                     if (device.Type == DeviceType.FreshAirHumiditySensor)
                     {
-                        targetList.Add(device);
                         oldTargetList.Add(device);
                     }
                     if (device.Type == DeviceType.PMSensor)
                     {
                         if (bindDev.BindCluster == 1029)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
@@ -1417,7 +1448,6 @@
                     {
                         if (bindDev.BindCluster == 1066)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
@@ -1427,12 +1457,18 @@
                     {
                         if (bindDev.BindCluster == 513)
                         {
-                            targetList.Add(device);
                             oldTargetList.Add(device);
                         }
                     }
                     break;
             }
+
+            targetList.Clear();
+            if (oldTargetList.Count != 0)
+            {
+                targetList.Add(oldTargetList[0]);
+            }
+
             targetListTemp.Clear();
             foreach (var d in targetList)
             {
@@ -1492,14 +1528,26 @@
                     removeDevice.BindCluster = 1066;
                     break;
                 case BindInfo.BindType.AC:
-                    removeDevice.BindCluster = 513;
+                    removeDevice.BindCluster = 513;//Ac闇�瑕佺粦瀹�2涓皣513鍜�514
                     break;
             }
             removeDevice.BindMacAddr = bd.DeviceAddr;
             removeDevice.BindEpoint = bd.DeviceEpoint;
             delDevice.RemoveBindList.Add(removeDevice);
+
+            if (curDeviceBindType == BindInfo.BindType.AC)
+            {
+                //瑕佺Щ闄ょ┖璋冿細闇�瑕佺Щ闄�513锛�514
+                var removeDevice3 = new RemoveBindListObj();
+                removeDevice3.BindCluster = 514;
+                removeDevice3.BindType = 0;
+                removeDevice3.BindMacAddr = bd.DeviceAddr;
+                removeDevice3.BindEpoint = bd.DeviceEpoint;
+                delDevice.RemoveBindList.Add(removeDevice3);
+            }
             return delDevice;
         }
+
         #endregion
 
         #region 绉婚櫎鏂规硶
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
index cc2bc06..9c7b1f1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
@@ -46,7 +46,7 @@
             }
 
             //娣诲姞鏂拌澶囩殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
-            UserView.UserPage.Instance.RefreshForm = true;
+            UserView.UserPage.Instance.RefreshAllForm = true;
 
             //璁剧疆鏍囬淇℃伅
             base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice));
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
index 4e36633..1c30f0e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceListMainForm.cs
@@ -151,7 +151,7 @@
             listView.BeginHeaderRefreshingAction += () =>
             {
                 //鍒锋柊璁惧鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                UserView.UserPage.Instance.RefreshForm = true;
+                UserView.UserPage.Instance.RefreshAllForm = true;
 
                 HdlThreadLogic.Current.RunThread(() =>
                 {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index abcd1c3..1bd57b2 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -102,10 +102,13 @@
             {
                 //绠�绾﹂潰鏉块殢渚夸竴涓洖璺潵鑾峰彇璁惧淇℃伅
                 var dev = Common.LocalDevice.Current.GetDevice(deviceMac, 62);
-                var key = new ZigBee.Device.Panel();
-                key.DeviceAddr = deviceMac;
-                key.CurrentGateWayId = dev.CurrentGateWayId;
-                InitBindInfo(key);
+                if (dev != null)
+                {
+                    var key = new ZigBee.Device.Panel();
+                    key.DeviceAddr = deviceMac;
+                    key.CurrentGateWayId = dev.CurrentGateWayId;
+                    InitBindInfo(key);
+                }
             }
         }
 
@@ -710,7 +713,8 @@
         private void AddPirSensorWorkModeRow()
         {
             if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
-                || deviceEnumInfo.IsHdlDevice == false)
+                || deviceEnumInfo.IsHdlDevice == false
+                || this.listNewDevice.Count != 2)
             {
                 return;
             }
@@ -739,7 +743,8 @@
         /// </summary>
         private void AddPirSensorBindRow()
         {
-            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
+            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
+                || this.listNewDevice.Count != 2)
             {
                 return;
             }
@@ -1207,6 +1212,10 @@
                 foreach (var bDev in bindList)
                 {
                     var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
+                    if (device == null)
+                    {
+                        continue;
+                    }
                     if (device.Type == DeviceType.TemperatureSensor)
                     {
                         var bD = device as TemperatureSensor;
@@ -1499,7 +1508,17 @@
             //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘(鎷跨鐐规渶灏忕殑閭d釜鍥炶矾鍘诲畾浣�)
             bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]);
 
-            var frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1);
+            TopRightMenuControl frame = null;
+
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+            {
+                frame = new TopRightMenuControl(3, 1);
+            }
+            else
+            {
+                frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1);
+            }
+
             string deviceMenu = string.Empty;
             if (canTest == true)
             {
@@ -1530,6 +1549,23 @@
                 });
             });
 
+            //鍚屾
+            deviceMenu = Language.StringByID(R.MyInternationalizationString.Synchronization);
+            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]))
+            {
+                frame.AddRowMenu(deviceMenu, "", "Item/SynchronizationSelected.png", () =>
+                {
+                    //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹�,姝ゅ姛鑳芥棤鏁�
+                    if (Common.Config.Instance.Home.IsVirtually == true)
+                    {
+                        return;
+                    }
+
+                    //鍚屾鎸囧畾璁惧
+                    this.SynchronizationDevice();
+                });
+            }
+
         }
 
         /// <summary>
@@ -1557,6 +1593,27 @@
                 });
             });
         }
+
+        /// <summary>
+        /// 鍚屾鎸囧畾璁惧
+        /// </summary>
+        private void SynchronizationDevice()
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                //鎵撳紑杩涘害鏉�
+                this.ShowProgressBar();
+
+                //鍚屾璁惧
+                bool result = await Common.LocalDevice.Current.SynchronizationDevice(listNewDevice);
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
+                if (result == false)
+                {
+                    return;
+                }
+            });
+        }
         #endregion
 
         #region 鈻� 鍏抽棴鐣岄潰___________________________
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
index a75e0d8..7dec652 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
@@ -202,7 +202,10 @@
                 foreach (var bDev in bindList)
                 {
                     var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
-
+                    if (device == null)
+                    {
+                        continue;
+                    }
                     if (device.Type == DeviceType.FreshAir)
                     {
                         //鑾峰彇璁惧绫诲瀷鐨�
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleEnvironmentButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleEnvironmentButtonSettionForm.cs
index e6c53d3..6b6ac40 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleEnvironmentButtonSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleEnvironmentButtonSettionForm.cs
@@ -208,7 +208,10 @@
                     foreach (var bDev in bindList)
                     {
                         var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
-
+                        if (device == null)
+                        {
+                            continue;
+                        }
                         if (device.Type == DeviceType.FreshAir)
                         {
                             //鑾峰彇璁惧绫诲瀷鐨�
@@ -283,6 +286,19 @@
                             }
 
                             bindAcDev = device;
+                        }
+                        else 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;
+                            }
                         }
                     }
                     count++;
@@ -458,7 +474,7 @@
             var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700);
             rowHumidity.ButtonClickEvent += (sender, e) =>
             {
-                this.deviceObj.DeviceEpoint = 2;
+                this.deviceObj.DeviceEpoint = 1;
                 var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindAcDev, DeviceBind.BindInfo.BindType.Humidity);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleMutilfunctionAddTargetsForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleMutilfunctionAddTargetsForm.cs
index 9ae205e..2083145 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleMutilfunctionAddTargetsForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSimpleMutilfunctionAddTargetsForm.cs
@@ -129,6 +129,10 @@
         /// 聽鍒锋柊缁戝畾琛ㄩ〉闈⒙犅�
         /// </summary>
         public Action actionRefreshBindList;
+        /// <summary>
+        /// 鏄惁鑳藉埛鏂�
+        /// </summary>
+        private bool canFresh = false;
         #endregion
 
         #region UI璁捐
@@ -139,6 +143,8 @@
         {
             TitleUI();
             MidFrameLayouUI();
+            //棣栨鍒濆鍖栨暟鎹�
+            CommonPage.Loading.Start("");
             InitData();
         }
 
@@ -211,6 +217,7 @@
             midVerticalScrolViewLayout.BeginHeaderRefreshingAction += () =>
             {
                 midVerticalScrolViewLayout.BeginHeaderRefreshing();
+                canFresh = true;
                 InitData();
             };
 
@@ -255,169 +262,28 @@
         }
 
         /// <summary>
-        /// 妤煎眰閫夋嫨鐨勪晶杈规爮
-        /// </summary>
-        void SideslipFramelayout()
-        {
-            var dialog = new Dialog
-            {
-            };
-            dialog.Show();
-
-            var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
-            dialog.AddChidren(flMain);
-            flMain.MouseUpEventHandler += (sender11, e11) =>
-            {
-                dialog.Close();
-            };
-
-            var sidelipFrameLayout = new FrameLayout()
-            {
-                Width = Application.GetMinReal(449),
-                Y = Application.GetRealHeight(161),
-                X = Application.GetRealWidth(596),
-                BackgroundImagePath = "DoorLock/SideslipPic.png",
-            };
-            flMain.AddChidren(sidelipFrameLayout);
-
-            var btnSelectFloor = new Button()
-            {
-                Width = Application.GetRealWidth(200),
-                Height = Application.GetRealHeight(58),
-                X = Application.GetRealWidth(81),
-                Y = Application.GetRealHeight(81),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
-                TextSize = 14,
-                IsBold = true,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextID = R.MyInternationalizationString.SelectFloor,
-            };
-            sidelipFrameLayout.AddChidren(btnSelectFloor);
-
-            var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout()
-            {
-                Y = btnSelectFloor.Bottom + Application.GetRealHeight(45),
-                Height = Application.GetRealHeight(600),
-            };
-            sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
-
-            Button oldbutton = null;
-            Button oldbuttonText = null;
-            int count = 0;
-            foreach (var floorId in dicFloorList.Keys)
-            {
-                var rowFrameLayout = new RowLayout()
-                {
-                    Height = Application.GetRealHeight(152),
-                    LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
-                    X = Application.GetRealWidth(81),
-                };
-                sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout);
-
-                var btnAllMethod = new Button()
-                {
-                    Width = Application.GetMinReal(81),
-                    Height = Application.GetMinReal(81),
-                    UnSelectedImagePath = "Floor/Floor.png",
-                    SelectedImagePath = "Floor/FloorSelected.png",
-                    Gravity = Gravity.CenterVertical,
-                };
-                rowFrameLayout.AddChidren(btnAllMethod);
-
-                var btnMethodText = new Button()
-                {
-                    Width = Application.GetRealWidth(311),
-                    Height = Application.GetRealHeight(58),
-                    X = Application.GetRealWidth(92),
-                    Gravity = Gravity.CenterVertical,
-                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
-                    TextSize = 14,
-                    TextAlignment = TextAlignment.CenterLeft,
-                    Text = dicFloorList[floorId],
-                };
-                rowFrameLayout.AddChidren(btnMethodText);
-
-                if (curControlDev.currentSelectFloorId == floorId)
-                {
-                    btnAllMethod.IsSelected = true;
-                    btnAllMethod.IsBold = true;
-                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                }
-
-                string curFloorId = floorId;
-                EventHandler<MouseEventArgs> hander = (sender, e) =>
-                {
-                    if (curControlDev.currentSelectFloorId == curFloorId)
-                    {
-                        return;
-                    }
-                    curControlDev.currentSelectFloorId = curFloorId;
-
-
-
-                    if (!btnMethodText.IsSelected)
-                    {
-                        if (oldbutton != null)
-                        {
-                            oldbutton.IsSelected = false;
-                        }
-                        if (oldbuttonText != null)
-                        {
-                            oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
-                        }
-                        oldbutton = btnMethodText;
-                        oldbuttonText = btnMethodText;
-                        btnMethodText.IsSelected = true;
-                        oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                        oldbuttonText.IsBold = true;
-                    }
-
-                    int index = 0;
-                    RefreshRoomList();
-                    dialog.Close();
-                };
-                btnAllMethod.MouseUpEventHandler += hander;
-                rowFrameLayout.MouseUpEventHandler += hander;
-                btnMethodText.MouseUpEventHandler += hander;
-                count++;
-            }
-
-            if (count == 0)
-            {
-                sidelipFrameLayout.Height = 0;
-            }
-            else if (count <= 4 && count > 0)
-            {
-                sidelipFrameLayout.Height = Application.GetRealHeight(180) + count * Application.GetRealHeight(150);
-            }
-            else
-            {
-                sidelipFrameLayout.Height = Application.GetMinReal(780);
-            }
-        }
-
-        /// <summary>
         /// 闈㈡澘缁戝畾鐩爣琛ㄦ樉绀�
         /// </summary>
         /// <param name="gateway">Gateway.</param>
         /// <param name="key">Key.</param>
         void RefreshRoomList()
         {
-            Room curRoom = null;
-            if (supportRoomList.Count == 0)
-            {
-                return;
-            }
             btnHorizontalScrolViewLayout.RemoveAll();
+            Room curRoom = null;
             Button curentOldRoom = null;
             FrameLayout curentOldRoomFrameLayout = null;
             int index = 0;
-            curBindTypeList = MutilfunctionPanelMethod.GetMatchBindList(curBindType);
-            var roomTempList = MutilfunctionPanelMethod.GetSupportRoomList(curControlDev, supportRoomList, curBindTypeList, curBindType);
+            List<Room> roomTempList = new List<Room> { };
             Room slectedRoom = null;
             var roomUn = new Room();
             roomUn.Name = Language.StringByID(R.MyInternationalizationString.Undistributed);
             roomUn.Id = "UndistributedId";
+
+            if (supportRoomList.Count != 0)
+            {
+                roomTempList = MutilfunctionPanelMethod.GetSupportRoomList(curControlDev, supportRoomList, curBindTypeList, curBindType);
+            }
+
             if (curBindType == 0)
             {
                 if (undistributeScList != null && undistributeScList.Count != 0)
@@ -560,6 +426,8 @@
                     var btn = (Button)frame.GetChildren(0);
                     frame.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
                     btn.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
+                    curentOldRoom = btn;
+                    curentOldRoomFrameLayout = frame;
                 }
                 else
                 {
@@ -1027,17 +895,14 @@
             {
                 try
                 {
-                    Application.RunOnMainThread(() =>
-                    {
-                        CommonPage.Loading.Start("");
-                    });
-
                     //鑾峰彇妤煎眰
                     dicFloorList = HdlRoomLogic.Current.GetFloorSortList();
                     curControlDev.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
 
-                    //鑾峰彇妤煎眰涓埧闂村垪琛�
-                    supportRoomList = BindInfo.GetFloorRoomList();
+                    //鑾峰彇鎴块棿鍒楄〃
+                    supportRoomList = BindInfo.GetSupportRoomList();
+                    //鑾峰彇闈㈡澘宸茬粡缁戝畾鐨勫尮閰嶇被鍨嬬殑鍒楄〃
+                    curBindTypeList = MutilfunctionPanelMethod.GetMatchBindList(curBindType);
 
                     if (curBindType == 0)
                     {
@@ -1077,14 +942,17 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        BindDownFrameLayout(this.midFrameLayout, curControlDev, dicFloorList, ref btnFloorText);
+                        if (!canFresh)
+                        {
+                            BindDownFrameLayout(this.midFrameLayout, curControlDev, dicFloorList, ref btnFloorText);
+                        }
                         ChooseFloorAction += (floorId, btnMethodText) =>
                         {
                             btnFloorText.Text = dicFloorList[floorId];
 
-                            //鑾峰彇妤煎眰涓埧闂村垪琛�
+                            //鑾峰彇鎴块棿鍒楄〃
                             supportRoomList.Clear();
-                            supportRoomList = BindInfo.GetFloorRoomList();
+                            supportRoomList = BindInfo.GetSupportRoomList();
                             if (curBindType == 0)
                             {
                                 // 鑾峰彇鏈湴鏈垎閰嶇殑鏀寔褰撳墠绫诲瀷鐨勭粦瀹氬満鏅垪琛�
@@ -1097,15 +965,18 @@
                             }
                             RefreshRoomList();
                         };
-
-                        btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
-                        //鑾峰彇妤煎眰涓埧闂村垪琛�
-                        if (supportRoomList.Count != 0)
+                        //榛樿妤煎眰鏄剧ず
+                        if (BindInfo.GetCurrentSelectFloorIdName() != null)
                         {
-                            RefreshRoomList();
+                            Application.RunOnMainThread(() =>
+                            {
+                                btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
+                            });
                         }
-
+                        //鑾峰彇妤煎眰涓埧闂村垪琛�
+                        RefreshRoomList();
                         CommonPage.Loading.Hide();
+                        canFresh = false;
                         midVerticalScrolViewLayout.EndHeaderRefreshing();
                     });
                 }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionDirectoryListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionDirectoryListForm.cs
index 7999dcc..73f495e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionDirectoryListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionDirectoryListForm.cs
@@ -39,9 +39,9 @@
 
             Type type = typeof(DirNameResourse);
 
-            var PropertyList = type.GetFields();
+            var PropertyList = type.GetProperties();
 
-            var listFile = new List<System.Reflection.FieldInfo>();
+            var listFile = new List<System.Reflection.PropertyInfo>();
             foreach (var item in PropertyList)
             {
                 if (item.Name.EndsWith("Directory") == true)
@@ -84,13 +84,7 @@
 
         private void AddRowControl(VerticalListControl listView, string directory, string directoryValue, bool addLine)
         {
-            string localDir = DirNameResourse.LocalMemoryDirectory;
-            string myPath = System.IO.Path.Combine(localDir, directoryValue);
-            if (localDir.EndsWith(directoryValue) == true)
-            {
-                myPath = localDir;
-            }
-            if (System.IO.Directory.Exists(myPath) == false)
+            if (System.IO.Directory.Exists(directoryValue) == false)
             {
                 return;
             }
@@ -106,7 +100,7 @@
             row1.ButtonClickEvent += (sender, e) =>
             {
                 var form = new HideOptionFileListForm();
-                form.AddForm(myPath);
+                form.AddForm(directoryValue);
             };
         }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs
index 540f95a..91d8619 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberByIdForm.cs
@@ -102,9 +102,13 @@
             var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(byteData));
             if (revertObj.StateCode == "AccountNoExists")
             {
-                //鎴愬憳涓嶅瓨鍦�
-                var form = new MemberNotEsixtForm();
-                form.AddForm();
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鎴愬憳涓嶅瓨鍦�
+                    var form = new MemberNotEsixtForm();
+                    form.AddForm();
+                });
+
                 return;
             }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
old mode 100755
new mode 100644
index 00891a0..5805a8c
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs
@@ -144,9 +144,6 @@
 
             if (string.IsNullOrEmpty(resultValue) == true)
             {
-                //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
-                string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownError);
-                this.ShowMassage(ShowMsgType.Tip, msg);
                 return;
             }
             List<MemberInfoRes> listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MemberInfoRes>>(resultValue);
@@ -159,12 +156,12 @@
                     break;
                 }
             }
-            if (memberInfoRes == null)
-            {
-                //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
-                string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownError);
-                this.ShowMassage(ShowMsgType.Tip, msg);
-                return;
+            if (memberInfoRes == null)
+            {
+                //鍑虹幇鎰忓鎯呭喌,鏁版嵁涓㈠け
+                string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownErrorAndLostData);
+                this.ShowMassage(ShowMsgType.Tip, msg);
+                return;
             }
 
             string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, memberInfoRes.DistributedMark + ".png");
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
index 1f576c5..e88ead1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
@@ -433,9 +433,12 @@
             var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(byteData));
             if (revertObj.StateCode == "AccountNoExists")
             {
-                //鎴愬憳涓嶅瓨鍦�
-                var form = new MemberNotEsixtForm();
-                form.AddForm();
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //鎴愬憳涓嶅瓨鍦�
+                    var form = new MemberNotEsixtForm();
+                    form.AddForm();
+                });
                 return;
             }
 
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs
index 4798b97..745feb7 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/AddNewRoomForm.cs
@@ -215,7 +215,7 @@
                 }
 
                 //娣诲姞鎴块棿,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                UserView.UserPage.Instance.RefreshForm = true;
+                UserView.UserPage.Instance.RefreshAllForm = true;
 
                 HdlRoomLogic.Current.AddRoom(newRoom);
                 this.FinishEditorEvent?.Invoke();
@@ -275,6 +275,11 @@
             {
                 //鑾峰彇娓╁害浼犳劅鍣�
                 if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 1)
+                {
+                    listDevice.Add(device);
+                }
+                //PM2.5鏄俯搴﹀拰婀垮害鍚堝湪鍚屼竴涓鐐�
+                else if (device.Type == ZigBee.Device.DeviceType.PMSensor)
                 {
                     listDevice.Add(device);
                 }
@@ -385,10 +390,16 @@
                 {
                     listDevice.Add(device);
                 }
+                //鏂伴
                 else if (device.Type == ZigBee.Device.DeviceType.FreshAirHumiditySensor)
                 {
                     listDevice.Add(device);
                 }
+                //PM2.5鏄俯搴﹀拰婀垮害鍚堝湪鍚屼竴涓鐐�
+                else if (device.Type == ZigBee.Device.DeviceType.PMSensor)
+                {
+                    listDevice.Add(device);
+                }
             }
             var listSelect = new List<string>() { newRoom.HumidityDevice };
             var form = new SelectDeviceForm();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
index af6cd06..920a4ab 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
@@ -315,7 +315,7 @@
                 }
 
                 //绠椾簡,杩欓噷濡傛灉鎸変笅淇濆瓨,鍒欎富椤甸渶瑕侀噸鏂板埛鏂�
-                UserView.UserPage.Instance.RefreshForm = true;
+                UserView.UserPage.Instance.RefreshAllForm = true;
 
                 this.CloseForm();
             };
@@ -372,6 +372,11 @@
             {
                 //鑾峰彇娓╁害浼犳劅鍣�
                 if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 1)
+                {
+                    listDevice.Add(device);
+                }
+                //PM2.5鏄俯搴﹀拰婀垮害鍚堝湪鍚屼竴涓鐐�
+                else if (device.Type == ZigBee.Device.DeviceType.PMSensor)
                 {
                     listDevice.Add(device);
                 }
@@ -463,10 +468,16 @@
                 {
                     listDevice.Add(device);
                 }
+                //鏂伴
                 else if (device.Type == ZigBee.Device.DeviceType.FreshAirHumiditySensor)
                 {
                     listDevice.Add(device);
                 }
+                //PM2.5鏄俯搴﹀拰婀垮害鍚堝湪鍚屼竴涓鐐�
+                else if (device.Type == ZigBee.Device.DeviceType.PMSensor)
+                {
+                    listDevice.Add(device);
+                }
             }
             var listSelect = new List<string>() { cloneRoom.HumidityDevice };
             var form = new SelectDeviceForm();
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
index dee8d57..948b78c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
@@ -352,11 +352,11 @@
                         Common.Config.Instance.Home.FloorDics.Remove(keys);
                         if (Common.Config.Instance.Home.CurrentFloorId == keys)
                         {
-                            //濡傛灉鍒犻櫎鐨勬槸褰撳墠妤煎眰鐨勮瘽
                             Common.Config.Instance.Home.CurrentFloorId = string.Empty;
-                            foreach (string floorId in Common.Config.Instance.Home.FloorDics.Keys)
+                            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
+                            foreach (var floorId in dicFloor.Keys)
                             {
-                                //鎶婄涓�涓ゼ灞侷D缁欏畠
+                                //鎶婄涓�涓ゼ灞傝祴鍊肩粰褰撳墠妤煎眰
                                 Common.Config.Instance.Home.CurrentFloorId = floorId;
                                 break;
                             }
@@ -406,7 +406,7 @@
                             this.AdjustContrlTableHeight();
                         }
                         //鍒犻櫎妤煎眰鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                        UserView.UserPage.Instance.RefreshForm = true;
+                        UserView.UserPage.Instance.RefreshAllForm = true;
                     });
                 };
             }
@@ -464,7 +464,6 @@
                     Common.Config.Instance.Home.Save();
                     if (Common.Config.Instance.Home.CurrentFloorId == string.Empty)
                     {
-                        Common.Config.Instance.Home.CurrentFloorId = keys;
                         //鍒涘缓绗竴涓柊鐨勬ゼ灞傜殑璇�,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛�
                         HdlRoomLogic.Current.RefreshRoomListView();
                     }
@@ -478,7 +477,7 @@
                         this.InitFrameTableByMode();
                     }
                     //鍒涘缓鎴栬�呬慨鏀规ゼ灞傜殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                    UserView.UserPage.Instance.RefreshForm = true;
+                    UserView.UserPage.Instance.RefreshAllForm = true;
                 }
             });
         }
@@ -619,7 +618,7 @@
                         this.AdjustContrlTableHeight();
                     }
                     //鍒犻櫎鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                    UserView.UserPage.Instance.RefreshForm = true;
+                    UserView.UserPage.Instance.RefreshAllForm = true;
                 });
             };
         }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs
index 4ed7043..c80a36f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs
@@ -157,7 +157,7 @@
             btnIconContr.ButtonClickEvent += (sender, e) =>
             {
                 //妤煎眰鑿滃崟
-                var contr = new TopRightFloorMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor));
+                var contr = new TopRightFloorMenuControl(dicFloor.Count, 2, this.nowSelectFloorId, Language.StringByID(R.MyInternationalizationString.SelectFloor));
                 foreach (var floorId in dicFloor.Keys)
                 {
                     contr.AddRowMenu(floorId, () =>
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
index 64c7cd3..7be9dbd 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/SafetyManagementMainForm.cs
@@ -254,7 +254,7 @@
                         UserCenterResourse.ResidenceOption.Save();
                         btnShortCut.IsSelected = false;
                         //鍙栨秷涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                        UserView.UserPage.Instance.RefreshForm = true;
+                        UserView.UserPage.Instance.RefreshAllForm = true;
                     });
                 }
                 else
@@ -266,7 +266,7 @@
                         UserCenterResourse.ResidenceOption.Save();
                         btnShortCut.IsSelected = true;
                         //鍒涘缓涓婚〉鐨勩�屽畨闃层�嶆嵎寰勭殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂�
-                        UserView.UserPage.Instance.RefreshForm = true;
+                        UserView.UserPage.Instance.RefreshAllForm = true;
                     });
                 }
             };
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs
index 5506715..6f0377a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedListRoomForm.cs
@@ -144,7 +144,7 @@
             btnIconContr.ButtonClickEvent += (sender, e) =>
             {
                 //妤煎眰鑿滃崟
-                var contr = new TopRightFloorMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor));
+                var contr = new TopRightFloorMenuControl(dicFloor.Count, 2, this.nowSelectFloorId, Language.StringByID(R.MyInternationalizationString.SelectFloor));
                 foreach (var floorId in dicFloor.Keys)
                 {
                     contr.AddRowMenu(floorId, () =>
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
index a2fb881..c7009e5 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -52,7 +52,15 @@
         /// <summary>
         /// 濡傛灉璁剧疆姝ゅ彉閲忎负true,鍒欏湪鍗曞嚮搴曢儴鑿滃崟鏃�,寮哄埗鏃犳潯浠跺叏閮ㄥ埛鏂�
         /// </summary>
-        public bool RefreshForm = false;
+        public bool RefreshAllForm = false;
+        /// <summary>
+        /// 鍒锋柊涓婚〉
+        /// </summary>
+        public bool RefreshMainPageForm = false;
+        /// <summary>
+        /// 鍒锋柊鍒嗙被
+        /// </summary>
+        public bool RefreshCategoryForm = false;
 
         #endregion
 
@@ -230,20 +238,20 @@
         /// <param name="handClick">鏄惁鏄墜鍔ㄧ偣鍑�</param>
         private void BottomMenuClickEvent(MenuSelectEnum selectEnum, bool handClick)
         {
-            if (this.RefreshForm == false && selectEnum == this.nowSelectMenu && handClick == true)
+            if (this.RefreshAllForm == false && selectEnum == this.nowSelectMenu && handClick == true)
             {
                 //鎵嬪姩鐐瑰嚮鍚屼竴涓彍鍗�,鍒欎笉鍋氬鐞�
                 return;
             }
 
             //濡傛灉寮哄埗鎸囧畾鍒锋柊鐣岄潰鐨勮瘽
-            if (this.RefreshForm == true)
+            if (this.RefreshAllForm == true)
             {
                 //鍏ㄩ儴鍒锋柊
                 this.listForm = new List<EditorCommonForm>() { null, null, null };
                 this.bodyFrameView.RemoveAll();
 
-                this.RefreshForm = false;
+                this.RefreshAllForm = false;
             }
 
             this.nowSelectMenu = selectEnum;
@@ -253,6 +261,13 @@
             {
                 //宸︽粦鑿滃崟鍙�
                 CommonPage.Instance.IsDrawerLockMode = false;
+                if (this.RefreshMainPageForm == true)
+                {
+                    //鍒锋柊涓婚〉
+                    listForm[0]?.CloseForm();
+                    listForm[0] = null;
+                    this.RefreshMainPageForm = false;
+                }
                 if (listForm[0] == null)
                 {
                     var form = new MainPage.HomeMainPageForm();
@@ -266,6 +281,13 @@
             {
                 //宸︽粦鑿滃崟涓嶅彲
                 CommonPage.Instance.IsDrawerLockMode = true;
+                if (this.RefreshCategoryForm == true)
+                {
+                    //鍒锋柊鍒嗙被
+                    listForm[1]?.CloseForm();
+                    listForm[1] = null;
+                    this.RefreshCategoryForm = false;
+                }
                 if (listForm[1] == null)
                 {
                     var form = new Category.CategoryMainForm();
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
index 561bff8..0ae3f20 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
@@ -850,6 +850,109 @@
         }
         #endregion
 
+        #region 涓�閿洿鏂板洓瀵稿睆鎸夐敭灞炴��
+        /// <summary>
+        /// 鍚屾璁惧鍔熻兘
+        /// </summary>
+        /// <returns></returns>
+        public async System.Threading.Tasks.Task<SynchronizationDeviceResponseAllData> SyncMsgToBindSource(string deviceAddr, int deviceEpoint)
+        {
+            if (Gateway == null)
+            {
+                return null;
+            }
+
+            return await System.Threading.Tasks.Task.Run(async () =>
+            {
+                SynchronizationDeviceResponseAllData resContent = null;
+                Action<string, string> action = (topic, message) =>
+                {
+                    var gatewayID = topic.Split('/')[0];
+                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+                    if (topic == gatewayID + "/" + "Error_Respon")
+                    {
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
+
+                        if (temp == null)
+                        {
+                            resContent = new SynchronizationDeviceResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+                        }
+                        else
+                        {
+                            resContent = new SynchronizationDeviceResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+                        }
+                    }
+
+                    if (topic == gatewayID + "/" + "Bind/SyncMsgToBindSourceRespon")
+                    {
+                        var res = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(jobject["Data"]["Result"].ToString());
+                        if (res == null)
+                        {
+                            resContent = new SynchronizationDeviceResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+                        }
+                        else
+                        {
+                            resContent = new SynchronizationDeviceResponseAllData { result = res };
+                            System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
+                        }
+                    }
+                };
+                Gateway.Actions = action;
+                DebugPrintLog("Bind/SyncMsgToBindSourceRespon_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
+
+                try
+                {
+                    var jObject = new JObject { { "DeviceAddr", deviceAddr }, { "Epoint", deviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5010 } };
+                    Gateway.Send("Bind/SyncMsgToBindSource", jObject.ToString());
+                }
+                catch { }
+
+                var dateTime = DateTime.Now;
+                while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime)
+                {
+                    await System.Threading.Tasks.Task.Delay(10);
+                    if (resContent != null)
+                    {
+                        break;
+                    }
+                }
+                if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime)
+                {
+                    resContent = new SynchronizationDeviceResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+                }
+                Gateway.Actions -= action;
+                DebugPrintLog("Bind/SyncMsgToBindSource_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+
+                return resContent;
+            });
+
+        }
+
+        /// <summary>
+        /// 鍚屾璁惧,缃戝叧鍙嶉鍏蜂綋淇℃伅
+        /// </summary>
+        [System.Serializable]
+        public class SynchronizationDeviceResponseAllData
+        {
+            /// <summary>
+            /// 閿欒淇℃伅
+            /// </summary>
+            public string errorMessageBase;
+            /// <summary>
+            /// 缃戝叧淇℃伅閿欒鍙嶉
+            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
+            /// </summary>
+            public ErrorResponData errorResponData;
+            /// <summary>
+            /// 鍚屾缁撴灉
+            /// 0:鎴愬姛锛氱綉鍏冲唴閮ㄨ嚜鍔ㄥ啓鍏ヨ澶囩洰鏍囧悕瀛椼�佽澶囩洰鏍囧姛鑳界被鍨嬨�佸満鏅洰鏍囧悕瀛椼�乽tc鏃堕棿鍐欏叆4瀵稿睆
+            /// 1:澶辫触
+            /// </summary>
+            public int result;
+        }
+        #endregion
+
         #region 鍒犻櫎璁惧锛堜娇璁惧绂荤綉锛�
         /// <summary>
         /// 鍒犻櫎璁惧锛堜娇璁惧绂荤綉锛�
@@ -900,7 +1003,7 @@
                     }
                 };
                 Gateway.Actions += action;
-                System.Console.WriteLine("RemoveDevice_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
+                DebugPrintLog("RemoveDevice_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
 
                 try
                 {
@@ -938,7 +1041,7 @@
                     d = new RemoveDeviceResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                 }
                 Gateway.Actions -= action;
-                System.Console.WriteLine("RemoveDevice_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+                DebugPrintLog("RemoveDevice_Actions 閫�鍑�" + System.DateTime.Now.ToString());
 
                 return d;
             });
diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs
old mode 100755
new mode 100644
index d78def6..646002c
--- a/ZigbeeApp/Shared/R.cs
+++ b/ZigbeeApp/Shared/R.cs
@@ -654,6 +654,14 @@
         /// 璀﹀憡锛佹暟鎹嚭閿欙紝蹇呴』鍒锋柊鍒楄〃锛屽惁鍒欐帶鍒剁幇璞¢敊涔�
         /// </summary>
         public const int UpdateBindList = 335;
+        /// <summary>
+        /// 鍚屾
+        /// </summary>
+        public const int Synchronization = 336;
+        /// <summary>
+        /// 鍚屾澶辫触
+        /// </summary>
+        public const int SynchronizationFailed = 337;
 
         public readonly static int cancel = 5097;
         public readonly static int confrim = 5098;
@@ -942,6 +950,11 @@
         public readonly static int dark = 5411;
         public readonly static int bright = 5412;
         public readonly static int tipIlluminanceValue = 5413;
+        public readonly static int videoIntercom = 5414;
+        public readonly static int dong = 5415;
+        public readonly static int unit = 5416;
+        public readonly static int theOutdoorUnit = 5417;
+
 
 
         /// <summary>
@@ -5804,7 +5817,11 @@
         /// <summary>
         /// 闇�閲嶆柊缁戝畾
         /// </summary>
-        public const int uNeedToRebind = 16136;
+        public const int uNeedToRebind = 16136;
+        /// <summary>
+        /// 鍑虹幇鎰忓鎯呭喌,鏁版嵁涓㈠け
+        /// </summary>
+        public const int uUnKnownErrorAndLostData = 16137;
 
 
 
diff --git a/ZigbeeApp/Shared/Shared.projitems b/ZigbeeApp/Shared/Shared.projitems
index 4d5db96..7de833c 100755
--- a/ZigbeeApp/Shared/Shared.projitems
+++ b/ZigbeeApp/Shared/Shared.projitems
@@ -57,6 +57,7 @@
     <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Logic\RoomAndDeviceView.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Logic\SkipView.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\Logic\SoneLogicList.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)Phone\Device\VideoIntercom\VideoMachine.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\Login\AccountForgetPWD.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\Login\Logic\AccountLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)Phone\Login\AccountRegister.cs" />

--
Gitblit v1.8.0