From 2835fe50d3e194c21b16fec1c53ff905dd3a3ceb Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 01 七月 2021 13:12:36 +0800
Subject: [PATCH] 20210630

---
 HDL-ON_Android/Properties/AndroidManifest.xml                          |    2 
 HDL-ON_Android/Assets/Language.ini                                     |    8 
 HDL-ON_iOS/HDL-ON_iOS.csproj                                           |    5 
 HDL_ON/UI/UI2/UserPage.cs                                              |    2 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irfan.png                |    0 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png |    0 
 HDL-ON_iOS/AppDelegate.cs                                              |    8 
 HDL_ON/DAL/Mqtt/MqttClient.cs                                          |   34 ++
 HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs                           |   17 +
 HDL-ON_Android/HDL-ON_Android.csproj                                   |    3 
 HDL-ON_iOS/Info.plist                                                  |    4 
 HDL-ON_iOS/Resources/Language.ini                                      |    8 
 HDL_ON/DAL/Server/NewApiRes.cs                                         |    8 
 HDL_ON/Common/HDLCommon.cs                                             |   30 ++
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png   |    0 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs               |   22 +
 HDL_ON/DAL/DriverLayer/Packet.cs                                       |    2 
 .vs/HDL_APP_Project/xs/UserPrefs.xml                                   |   83 +++----
 HDL_ON/UI/MainPage.cs                                                  |   14 
 HDL_ON/UI/UI1-Login/LoginPage.cs                                       |  133 ++++++-----
 HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs                          |    4 
 HDL_ON/Entity/Function/Scene.cs                                        |    2 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png  |    0 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs   |    8 
 HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs                   |   44 +++
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs                |    1 
 HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs                   |  114 ++++-----
 HDL_ON/DAL/DriverLayer/Control_Udp.cs                                  |   23 +
 HDL_ON/Entity/FunctionList.cs                                          |    1 
 HDL_ON/Entity/Function/Function.cs                                     |   13 
 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs                  |    4 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irfan.png                 |    0 
 HDL_ON/Common/UserInfo.cs                                              |    2 
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs                   |    1 
 HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs         |    8 
 HDL_ON/DAL/Server/HttpServerRequest.cs                                 |    3 
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs                  |    2 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png  |    0 
 HDL-ON_Android/Other/JPush/JPushReceiver.cs                            |    1 
 39 files changed, 380 insertions(+), 234 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index 039d3bb..f6f3f8d 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,68 +1,60 @@
 锘�<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
   <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.6242be7109c740c6cb8999a8904b6e0ea8d45192" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/Entity/Function/Scene.cs">
     <Files>
-      <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" Line="275" Column="53" />
-      <File FileName="HDL-ON_iOS/Resources/Language.ini" Line="1521" Column="7" />
-      <File FileName="HDL-ON_Android/Assets/Language.ini" Line="467" Column="1" />
-      <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="341" Column="46" />
-      <File FileName="HDL_ON/UI/MainPage.cs" Line="275" Column="45" />
-      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs" Line="142" Column="50" />
-      <File FileName="HDL_ON/Common/R.cs" Line="8" Column="15" />
-      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs" Line="229" Column="64" />
-      <File FileName="HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs" Line="156" Column="50" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs" Line="242" Column="69" />
+      <File FileName="HDL_ON/Entity/Function/Function.cs" Line="1193" Column="45" />
+      <File FileName="HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs" Line="141" Column="30" />
+      <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs" Line="304" Column="1" />
+      <File FileName="HDL_ON/DAL/Mqtt/MqttClient.cs" Line="367" Column="51" />
+      <File FileName="HDL_ON/Entity/Enumerative/MyEnum.cs" Line="15" Column="6" />
+      <File FileName="HDL_ON/Entity/Enumerative/Command.cs" Line="1713" Column="27" />
+      <File FileName="HDL_ON/DAL/DriverLayer/Packet.cs" Line="631" Column="50" />
+      <File FileName="HDL_ON/DAL/DriverLayer/Control_Udp.cs" Line="855" Column="46" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs" Line="1" Column="1" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs" Line="1" Column="1" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs" Line="20" Column="41" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneCatchFunctionListPage.cs" Line="170" Column="82" />
+      <File FileName="HDL_ON/Entity/Function/Scene.cs" Line="440" Column="23" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
         <State name="__root__">
           <Node name="HDL_APP_Project" expanded="True">
             <Node name="HDL_ON" expanded="True">
-              <Node name="Common" expanded="True" />
               <Node name="DAL" expanded="True">
+                <Node name="DriverLayer" expanded="True" />
+                <Node name="Mqtt" expanded="True" />
                 <Node name="Server" expanded="True" />
               </Node>
-              <Node name="Entity" expanded="True" />
-              <Node name="UI" expanded="True">
-                <Node name="CSS" expanded="True" />
-                <Node name="UI0-Public" expanded="True" />
-                <Node name="UI0-Stan" expanded="True">
-                  <Node name="Form" expanded="True">
-                    <Node name="Base" expanded="True" />
-                  </Node>
+              <Node name="Entity" expanded="True">
+                <Node name="Enumerative" expanded="True" />
+                <Node name="Function" expanded="True">
+                  <Node name="Scene.cs" selected="True" />
                 </Node>
+              </Node>
+              <Node name="UI" expanded="True">
+                <Node name="UI0-Public" expanded="True" />
+                <Node name="UI1-Login" expanded="True" />
                 <Node name="UI2" expanded="True">
-                  <Node name="2-Classification" expanded="True">
-                    <Node name="ClassificationPage.cs" selected="True" />
-                  </Node>
-                  <Node name="3-Intelligence" expanded="True" />
-                  <Node name="4-PersonalCenter" expanded="True">
-                    <Node name="RoomListManage" expanded="True" />
+                  <Node name="2-Classification" expanded="True" />
+                  <Node name="3-Intelligence" expanded="True">
+                    <Node name="Scene" expanded="True" />
                   </Node>
                   <Node name="FuntionControlView" expanded="True">
-                    <Node name="Electrical" expanded="True" />
+                    <Node name="1ContorlPage" expanded="True" />
+                    <Node name="FoolHeating" expanded="True" />
+                    <Node name="Light" expanded="True" />
+                    <Node name="Music" expanded="True" />
                   </Node>
                 </Node>
               </Node>
             </Node>
             <Node name="HDL-ON_Android" expanded="True">
-              <Node name="Assets" expanded="True">
-                <Node name="Phone" expanded="True">
-                  <Node name="Classification" expanded="True" />
-                  <Node name="FunctionIcon" expanded="True">
-                    <Node name="IrFan" expanded="True" />
-                  </Node>
-                </Node>
-              </Node>
+              <Node name="Assets" expanded="True" />
             </Node>
             <Node name="HDL-ON_iOS" expanded="True">
-              <Node name="Resources" expanded="True">
-                <Node name="Phone" expanded="True">
-                  <Node name="Classification" expanded="True">
-                    <Node name="Room" expanded="True" />
-                  </Node>
-                </Node>
-              </Node>
+              <Node name="Other" expanded="True" />
+              <Node name="Resources" expanded="True" />
             </Node>
           </Node>
         </State>
@@ -79,11 +71,8 @@
   <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
     <BreakpointStore>
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/SenesorMegahealth/AddSenesorMegahealthDirection1Page.cs" line="118" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" line="546" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs" relfile="HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs" line="213" column="1" />
-      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" relfile="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" line="232" column="1" />
+      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs" line="79" column="1" />
+      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs" relfile="HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs" line="44" column="1" />
     </BreakpointStore>
   </MonoDevelop.Ide.DebuggingService.Breakpoints>
   <MultiItemStartupConfigurations />
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 7a2d8de..30d77a3 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -337,7 +337,7 @@
 333=Floor cooling power 
 334=Adjust the percentage
 335=No delay
-336=No scene
+336=No scene available. Add one! 
 337=Edit the scene
 338=The name of the scene can not be blank.
 339=The name of the scene has existed, please revise.
@@ -465,7 +465,9 @@
 476=Add residence
 477=Swing
 478=Pattern
-479=Air volume
+479=Speed
+
+
  
 1000=Room Humidity
 1001=V-chip
@@ -1524,7 +1526,7 @@
 476=娣诲姞浣忓畢
 477=鎽嗗姩
 478=妯″紡
-479=椋庨噺
+479=椋庨��
  
  
 1000=瀹ゅ唴婀垮害
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png
new file mode 100644
index 0000000..c59a2e5
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png
new file mode 100644
index 0000000..8c5ead5
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irfan.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irfan.png
new file mode 100644
index 0000000..0447c4d
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/irfan.png
Binary files differ
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index 022f934..473becc 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -420,6 +420,9 @@
     <AndroidAsset Include="Assets\Phone\FunctionIcon\IrFan\SpeedIcon.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\IrFan\SpeedIconOn.png" />
     <AndroidAsset Include="Assets\Phone\Classification\Room\AllCloseIcon2.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irfan_blue.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\irfan_white.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\irfan.png" />
   </ItemGroup>
   <ItemGroup>
     <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\BindScene.png" />
diff --git a/HDL-ON_Android/Other/JPush/JPushReceiver.cs b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
index ccc38c0..87a58e9 100644
--- a/HDL-ON_Android/Other/JPush/JPushReceiver.cs
+++ b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
@@ -58,6 +58,7 @@
             {
                 pushMes.messageType = jpushExpandData.messageType;
                 pushMes.expantContent = jpushExpandData.expantContent;
+                pushMes.HomeId = jpushExpandData.homeId;
                 Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
             }
 
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index 9e7480a..ff4004d 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202106171" android:versionName="1.2.202106171" package="com.hdl.onpro">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202106291" android:versionName="1.2.202106291" package="com.hdl.onpro">
 	<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" />
 	<!--  鍙瀵硅鏉冮檺-->
 	<uses-permission android:name="android.permission.CAMERA" />
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 851ed2e..8ea5561 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -295,6 +295,7 @@
                     var expandData = "";
                     var messageType = "";
                     var expantContent = "";
+                    var homeId = "";
                     if (userInfo.ContainsKey(new NSString("expandData")))
                     {
                         var expandDataStr = userInfo["expandData"] as NSString;
@@ -315,6 +316,12 @@
                                     Utlis.WriteLine("expantContent: " + expantContent);
                                 }
 
+                                if (expandDataNSD.ContainsKey(new NSString("homeId")))
+                                {
+                                    homeId = expandDataNSD["homeId"].ToString();
+                                    Utlis.WriteLine("homeId: " + homeId);
+                                }
+
                             }
                         }
                         else
@@ -325,6 +332,7 @@
                     }
                     var pushMes = new JPushMessageInfo()
                     {
+                        HomeId = homeId,
                         Title = title,
                         Content = body,
                         Extras = expandData,
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index 36a8f4e..0dff2f0 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -69,7 +69,7 @@
         <MtouchLink>SdkOnly</MtouchLink>
         <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC"</MtouchExtraArgs>
         <MtouchI18n>cjk</MtouchI18n>
-        <CodesignProvision>On+_Hoc20210401-1</CodesignProvision>
+        <CodesignProvision>ComHdlOnProAdHoc20210616-1</CodesignProvision>
     </PropertyGroup>
     <ItemGroup>
         <Reference Include="System" />
@@ -1304,6 +1304,9 @@
       <BundleResource Include="Resources\Phone\FunctionIcon\IrFan\HeadSwingingIcon.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\IrFan\HeadSwingingIconOn.png" />
       <BundleResource Include="Resources\Phone\Classification\Room\AllCloseIcon2.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\irfan.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irfan_blue.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\irfan_white.png" />
     </ItemGroup>
     <ItemGroup>
       <ITunesArtwork Include="iTunesArtwork" />
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index c9c3bb1..33b4950 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -104,9 +104,9 @@
 	<key>UIStatusBarStyle</key>
 	<string>UIStatusBarStyleLightContent</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.2.202106082</string>
+	<string>1.2.202106281</string>
 	<key>CFBundleVersion</key>
-	<string>1.2.06082</string>
+	<string>1.2.06281</string>
 	<key>NSLocationWhenInUseUsageDescription</key>
 	<string>Use geographic location to provide services such as weather</string>
 	<key>NSAppleMusicUsageDescription</key>
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index 7a2d8de..30d77a3 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -337,7 +337,7 @@
 333=Floor cooling power 
 334=Adjust the percentage
 335=No delay
-336=No scene
+336=No scene available. Add one! 
 337=Edit the scene
 338=The name of the scene can not be blank.
 339=The name of the scene has existed, please revise.
@@ -465,7 +465,9 @@
 476=Add residence
 477=Swing
 478=Pattern
-479=Air volume
+479=Speed
+
+
  
 1000=Room Humidity
 1001=V-chip
@@ -1524,7 +1526,7 @@
 476=娣诲姞浣忓畢
 477=鎽嗗姩
 478=妯″紡
-479=椋庨噺
+479=椋庨��
  
  
 1000=瀹ゅ唴婀垮害
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png
new file mode 100644
index 0000000..c59a2e5
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_blue.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png
new file mode 100644
index 0000000..8c5ead5
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/irfan_white.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irfan.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irfan.png
new file mode 100644
index 0000000..0447c4d
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/irfan.png
Binary files differ
diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index cf27527..588b918 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -273,7 +273,7 @@
                     if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
                     {
                         //鎶ヨ鎺ㄩ�佸脊绐楁彁绀�
-                        ShowAlarmPushMessage(jpushMessageInfo);
+                        ShowAlarmPushMessage(jpushMessageInfo,true);
                     }
                     else if (jpushMessageInfo.messageType.Contains(PushMessageType.FLCall.ToString()))
                     {
@@ -297,6 +297,10 @@
 
                         ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo);
 
+                    }
+                    else if(jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
+                    {
+                        ShowAlarmPushMessage(jpushMessageInfo, false);
                     }
                 }
             }
@@ -411,7 +415,8 @@
         /// 鎶ヨ鎺ㄩ�佸脊绐楁彁绀�,鐐瑰嚮鏌ョ湅璺宠浆淇℃伅涓績
         /// </summary>
         /// <param name="jpushMessageInfo"></param>
-        public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo)
+        /// <param name="isAlarm">鏄惁鏄姤璀︿俊鎭紝锛堝姞杞界殑寮圭獥棰滆壊涓嶄竴鏍凤級</param>
+        public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo,bool isAlarm)
         {
             //娌$櫥褰曚笉澶勭悊
             if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
@@ -422,6 +427,25 @@
             //璺宠浆淇℃伅涓績椤甸潰
             Action goAction = () =>
             {
+                //鏌ョ湅瀵瑰簲浣忓畢鐨勪俊鎭紝瑕佸垏鎹㈠埌瀵瑰簲浣忓畢
+                if (jpushMessageInfo.HomeId != DB_ResidenceData.Instance.CurrentRegion.id)
+                {
+                    var homeTemp = UserInfo.Current.regionList.Find((obj) => jpushMessageInfo.HomeId == obj.id);
+                    if (homeTemp != null)
+                    {
+                        DB_ResidenceData.Instance.CurrentRegion = homeTemp;
+                        DB_ResidenceData.Instance.SaveResidenceData();
+                        DB_ResidenceData.Instance.EixtAccount();
+                        //鍒锋柊浣忓畢鏁版嵁
+                        Common.ApiUtlis.Ins.DownloadData();
+                        while (MainPage.BasePageView.ChildrenCount > 1)
+                        {
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 2;
+                        }
+                        MainPage.CurPageIndex = 9999;
+                        MainPage.UserBasePage.ChooseCollection();
+                    }
+                }
                 //Dialog
                 alarmPushConfirmDialog = null;
                 Action backAction = () =>
@@ -443,7 +467,7 @@
             //闃叉澶氭寮圭獥澶勭悊
             if (alarmPushConfirmDialog == null)
             {
-                alarmPushConfirmDialog = new ConfirmDialog();
+                alarmPushConfirmDialog = new ConfirmDialog(isAlarm);
                 alarmPushConfirmDialog.ShowDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver);
             }
             else
diff --git a/HDL_ON/Common/UserInfo.cs b/HDL_ON/Common/UserInfo.cs
index 1c49f51..c82538d 100644
--- a/HDL_ON/Common/UserInfo.cs
+++ b/HDL_ON/Common/UserInfo.cs
@@ -30,7 +30,7 @@
                     {
                         m_Current = new UserInfo()
                         {
-                            ID = "浣撻獙璐﹀彿1234567890",
+                            ID = "1234567890",
                             userName = "浣撻獙璐﹀彿",
                             AccountString = "浣撻獙璐﹀彿",
                             userMobileInfo = "浣撻獙璐﹀彿",
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 4b9483b..3c742c4 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -646,10 +646,10 @@
                                         {
                                             b1 += (byte)(16 + wm);
                                         }
-                                        if (commandDictionary.ContainsKey("temp"))
+                                        if (commandDictionary.ContainsKey("set_temp"))
                                         {
                                             var dicTempString = "";
-                                            commandDictionary.TryGetValue("temp", out dicTempString);
+                                            commandDictionary.TryGetValue("set_temp", out dicTempString);
                                             var dicTemp = Convert.ToByte(dicTempString);
                                             var mode = function.GetAttrState(FunctionAttributeKey.Mode);
                                             switch (mode)
@@ -742,22 +742,31 @@
                                             break;
                                     }
                                 }
-
                                 //7   婀垮害璁惧畾 %
                                 //8   瀹ゅ唴娓╁害鍊�   鈩�
+                                byte indoorTemp_airFrsh = 0;
+                                if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorTemp) == true)
+                                {
+                                    indoorTemp_airFrsh= Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorTemp]);
+                                }
+                                byte indoorHumidity_airFrsh = 0;
+                                if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorHumidity) == true)
+                                {
+                                    indoorHumidity_airFrsh = Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorHumidity]);
+                                }
                                 //9   瀹ゅ唴婀垮害鍊�   鈩�
                                 //10  杩囨护缃戝墿浣� %
-                                //11  杩囨护缃戜娇鐢ㄨ秴鏃� 1 瓒呮椂 0 鏃�
+                                //11  杩囨护缃戜娇鐢ㄨ秴鏃� 1 瓒呮椂 0 鏃�    
                                 ControlBytesSend(Command.FreshAirControl_JinMao, subnetId, deviceId, new byte[] {
                                     function.bus.LoopId,0, switchValue ,
                                     airFreshMode,airFreshEnergy,
                                     airFreshFan,
                                     Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Humidity)),
-                                    0,0,0,0
-                                    //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.IndoorTemp)),
-                                    //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.IndoorHumidity)),
+                                    indoorTemp_airFrsh,
+                                    indoorHumidity_airFrsh,
                                     //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.FilterRemain)),
                                     //function.GetAttrState(FunctionAttributeKey.FilterTimeout) =="true"?1:0,
+                                    0,0
                                 });
                                 break;
                         }
diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs
index e67231e..a5b60c5 100644
--- a/HDL_ON/DAL/DriverLayer/Packet.cs
+++ b/HDL_ON/DAL/DriverLayer/Packet.cs
@@ -97,7 +97,7 @@
                 {
                     ddd += bb + ",";
                 }
-                MainPage.Log(((int)command) + " : " + ddd);
+                MainPage.Log($"bus鍛戒护:"+ ((int)command) + " : 鏁版嵁:" + ddd);
 #endif
                 //澶勭悊鏄惁瑕侀噸鍙戞暟鎹�
                 ManagerReceive(subnetID, deviceID, command, usefulBytes);
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 93d0ae7..b80a9d6 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -206,10 +206,16 @@
                     };
 
                     #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰�
-                    //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡
+                    //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡--鏉ㄦ稕
                     var appHomeRefresh = new MqttTopicFilter()
                     {
                         Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appHomeRefresh/up",
+                        QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
+                    };
+                    //浣忓畢娑堟伅鍙樻洿鎺ㄩ��--璞嗚眴
+                    var residenceChange = new MqttTopicFilter()
+                    {
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡
@@ -221,7 +227,7 @@
                     //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡
                     var appDeviceRefresh = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up",
+                        Topic = $"/user/{MqttInfoConfig.Current.HomeGatewayInfo.gatewayId}/app/thing/event/appHomeRefresh/up",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     //涓�绔彛瀵嗛挜鏇存柊閫氱煡
@@ -237,7 +243,7 @@
                     Utlis.WriteLine("寮�濮嬭闃咃紒");
                     var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] {
                         pirStatus,pirStudy,
-                        appDeviceRefresh,appHomeRefresh,appRoomRefresh,
+                        appDeviceRefresh,appHomeRefresh,appRoomRefresh,residenceChange,
                         topicFilterPush2, topicAlinkStatus ,mqttkeyChange});
                     if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0)
                     {
@@ -349,7 +355,8 @@
                                 }
                                 #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰�
                                 //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appHomeRefresh/up")
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appHomeRefresh/up"
+                                        || topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up")
                                 {
                                     MainPage.Log("浣忓畢鏁版嵁鍒锋柊閫氱煡");
                                     new HttpServerRequest().GetHomePager();
@@ -488,6 +495,25 @@
                     #endregion
 
                     //(4)===========寮�濮嬭繛鎺ヨ繃绋�==========
+
+                    ////涓�绔彛姣忔閮借鍒锋柊瀵嗛挜
+                    //if (DB_ResidenceData.Instance.HomeGateway != null && DB_ResidenceData.Instance.HomeGateway.gatewayType == "BUSUDPGATEWAY") {
+                    //    var pm = new HttpServerRequest();
+                    //    var result = pm.GetHomeGatewayList();
+                    //    if(result == StateCode.SUCCESS)
+                    //    {
+                    //        MainPage.Log($"鍒锋柊涓�绔彛瀵嗛挜");
+                    //        MainPage.Log($"鏃у瘑閽ワ細{mqttEncryptKey}");
+                    //        mqttEncryptKey = MqttInfoConfig.Current.HomeGatewayInfo.aesKey;
+                    //        MainPage.Log($"鏂板瘑閽ワ細{mqttEncryptKey}");
+                    //    }else
+                    //    {
+                    //        return;
+                    //    }
+                    //}
+                    
+
+
                     //涔嬪墠宸茬粡鑾峰彇鍙傛暟鎴愬姛杩�
                     if (MqttInfoConfig.Current.IfGetMqttInfoSuccess)
                     {
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index c1a0d9e..4e05fe8 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -1045,7 +1045,8 @@
             var requestJson = HttpUtil.GetSignRequestJson(new GetMessageListObj()
             {
                 pushId = OnAppConfig.Instance.PushId,
-                pushType = pushType
+                pushType = pushType,
+                homeId = DB_ResidenceData.Instance.CurrentRegion.id,
             });
             return HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_Getpushmessagelist, requestJson);
         }
diff --git a/HDL_ON/DAL/Server/NewApiRes.cs b/HDL_ON/DAL/Server/NewApiRes.cs
index 10f6844..4d5cf58 100644
--- a/HDL_ON/DAL/Server/NewApiRes.cs
+++ b/HDL_ON/DAL/Server/NewApiRes.cs
@@ -1419,6 +1419,10 @@
     public class JPushMessageInfo
     {
         /// <summary>
+        /// 浣忓畢ID
+        /// </summary>
+        public string HomeId;
+        /// <summary>
         /// 鎺ㄩ�佹爣棰�
         /// </summary>
         public string Title;
@@ -1462,6 +1466,10 @@
     public class ExpandData
     {
         /// <summary>
+        /// 浣忓畢ID
+        /// </summary>
+        public string homeId;
+        /// <summary>
         /// 闄勫姞鍐呭
         /// </summary>
         public string expantContent;
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 9ae66ef..91adfe7 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1181,16 +1181,16 @@
         public static List<string> ArmSensorSpkList()
         {
             var spkList = new List<string>();
-            spkList.Add(SensorLight);
+            //spkList.Add(SensorLight);
             spkList.Add(SensorPir);
             spkList.Add(SensorDoorWindow);
             spkList.Add(SensorSmoke);
             spkList.Add(SensorWater);
-            spkList.Add(SensorGas);
-            spkList.Add(SensorShanLan);
-            spkList.Add(SensorDuiShe);
-            spkList.Add(SensoruUtrasonic);
-            spkList.Add(SensorDryContact);
+            //spkList.Add(SensorGas);
+            //spkList.Add(SensorShanLan);
+            //spkList.Add(SensorDuiShe);
+            //spkList.Add(SensoruUtrasonic);
+            //spkList.Add(SensorDryContact);
             spkList.Add(SenesorMegahealth);
             return spkList;
         }
@@ -1321,6 +1321,7 @@
             spkList.Add(TvIr);
             spkList.Add(TvXmIr);
             spkList.Add(ElectricFan);
+            spkList.Add(FanIr);
             spkList.Add(ClothesHanger);
             spkList.Add(IrLearn);
             spkList.Add(PjtIr);
diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs
index f4bdd83..e4607ae 100644
--- a/HDL_ON/Entity/Function/Scene.cs
+++ b/HDL_ON/Entity/Function/Scene.cs
@@ -445,7 +445,9 @@
                 if (sfs.key == FunctionAttributeKey.OnOff)
                 {
                     if (sfs.value == "off")
+                    {
                         return Language.StringByID(StringId.Close);
+                    }
                 }
             }
             sceneFunctionInfo += Language.StringByID(StringId.Open) + " ";
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 62b1fee..b5622b0 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -182,6 +182,7 @@
         /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param>
         public void IniFunctionList(string filePath, bool checkRepeat = false)
         {
+            //MainPage.Log("12346890sdkxghjkl");
             // todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
             if (filePath.StartsWith("FunctionData_"))
             {
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 1a295d4..cc24670 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -18,9 +18,13 @@
         /// </summary>
         public static PageLayout BasePageView { get; set; }
         /// <summary>
+        /// 鐢ㄦ埛鎺у埗鐖跺鍣�
+        /// </summary>
+        public static UserPage UserBasePage;
+        /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string VersionString = "1.2.0617";
+        public static string VersionString = "1.2.0629";
         ///// <summary>
         ///// 瀹㈡埛绔被鍨�
         ///// </summary>
@@ -272,7 +276,7 @@
             if (NoLoginMode)
             {
                 //璺宠浆椤甸潰----
-                var UserBasePage = new UserPage();
+                UserBasePage = new UserPage();
                 BasePageView.AddChidren(UserBasePage);
                 UserBasePage.LoadPage();
                 BasePageView.PageIndex = 0;
@@ -294,20 +298,20 @@
                 addResidencePage.LoadView();
                 return;
             }
-            new System.Threading.Thread(() =>
+            new System.Threading.Thread(async () =>
             {
                 try
                 {
                     Entity.FunctionList.List.Clear();
                     Entity.SpatialInfo.CurrentSpatial.Clear();
                     ///绛夊緟鑾峰彇浣忓畢淇℃伅
-                    Application.RunOnMainThread(() =>
+                    Application.RunOnMainThread( () =>
                     {
                         waitPage.Hide();
                         waitPage.RemoveFromParent();
 
                         //璺宠浆椤甸潰----
-                        var UserBasePage = new UserPage();
+                        UserBasePage = new UserPage();
                         BasePageView.AddChidren(UserBasePage);
                         UserBasePage.LoadPage();
                         BasePageView.PageIndex = 0;
diff --git a/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
index 3961438..a8d8520 100644
--- a/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
+++ b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
@@ -14,6 +14,10 @@
         /// bodyView
         /// </summary>
         FrameLayout bodyView;
+        /// <summary>
+        /// 鏄惁鍔犺浇鎶ヨ棰滆壊绐楀彛(绾㈣壊)
+        /// </summary>
+        bool isAlarmColor = false;
 
         /// <summary>
         /// 
@@ -21,6 +25,13 @@
         public ConfirmDialog()
         {
 
+        }
+        /// <summary>
+        /// 
+        /// </summary>
+        public ConfirmDialog(bool isAlarmColor)
+        {
+            this.isAlarmColor = isAlarmColor;
         }
 
         /// <summary>
@@ -135,6 +146,12 @@
             };
 
             //this.Show();
+            if(isAlarmColor)
+            {
+                btnTitle.TextColor = CSS_Color.WarningColor;
+                btnConfirm.TextColor = CSS_Color.MainBackgroundColor;
+                btnConfirm.BackgroundColor = CSS_Color.WarningColor;
+            }
         }
 
         /// <summary>
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index 14c1026..ad0b7f9 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -202,7 +202,7 @@
                 //return;
                 if (b)
                 {
-                    etAccount.Text = "15626203746";//娴嬭瘯鏈嶅姟鍣�
+                    etAccount.Text = "tf@smarttech.com.ua";//鍥藉璐﹀彿锛屾湁浣忓畢锛岀櫥褰曟棤娉曟樉绀�
                     //etAccount.Text = "13375012446";//娴嬭瘯鏈嶅姟鍣�
                     //etAccount.Text = "1033326940@qq.com";
                     //etAccount.Text = "18022428438";//wjc
@@ -214,9 +214,12 @@
                 }
                 else
                 {
-                    etAccount.Text = "464027401@qq.com";//
+                    etAccount.Text = "15626203746";
+                    //etAccount.Text = "15018447586";//闊充箰鏁伴噺鍒锋柊闂
+                    //etAccount.Text = "464027401@qq.com";//
                     //etAccount.Text = "15217626103";//
                     //etAccount.Text = "13682244600";//娉㈠摜
+                    //etAccount.Text = "13168123446";//鏄嗘槑閲戣寕椤圭洰锛屾柊椋庨棶棰�
                     //etAccount.Text = "BB01010101@evoyo.com";//鍙瀵硅
                     //etAccount.Text = "13168123446";
                     //etAccount.Text = "13676202754";//宸存灄鏈嶅姟鍣�
@@ -320,7 +323,7 @@
             };
             accountView.AddChidren(etAccount);
 
-            if (userInfo != null)
+            if (userInfo != null && userInfo.ID != "1234567890")
             {
                 registerEmail = userInfo.userEmailInfo;
                 etAccount.Text = registerPhone = userInfo.userMobileInfo;
@@ -507,7 +510,7 @@
                 IsBold = true,
                 TextColor = CSS_Color.MainColor,
                 TextAlignment = TextAlignment.Center,
-                Text = "浣撻獙妯″紡"
+                Text = "Dome妯″紡"
             };
             bodyView.AddChidren(btnDomeLogin);
             btnDomeLogin.MouseUpEventHandler = (sender, e) => {
@@ -521,7 +524,7 @@
                 var room1 = new Room()
                 {
                     roomId = "1405771366041378818",
-                    roomName = "娲楁墜闂�",
+                    roomName = Language.CurrentLanguage == "Chinese"? "娲楁墜闂�" : "Restroom",
                     roomImage = "Classification/Room/Roombg.png",
                     uid = "47c98953-6fd4-4379-88b9-4b748963504f",
                     roomType = "ROOM",
@@ -529,27 +532,27 @@
                     homeId = "1396717478877241345",
                     createTime = "1623996986290",
                     modifyTime = "1623996986290",
-                    floorRoomName = "1F-娲楁墜闂�"
+                    floorRoomName = "1F-Restroom"
                 };
                 room1.SaveRoomFile();
-                var room2 = new Room()
-                {
-                    roomId = "1405771310345216001",
-                    roomName = "涓诲崸",
-                    roomImage = "Classification/Room/Roombg.png",
-                    uid = "168d27a1-9e53-42c0-95c9-f5cbf41ea167",
-                    roomType = "ROOM",
-                    parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
-                    homeId = "1396717478877241345",
-                    createTime = "1623996973011",
-                    modifyTime = "1623996973011",
-                    floorRoomName = "1F-涓诲崸"
-                };
-                room2.SaveRoomFile();
+                //var room2 = new Room()
+                //{
+                //    roomId = "1405771310345216001",
+                //    roomName = Language.CurrentLanguage == "Chinese"? "涓诲崸" : "Master bedroom",
+                //    roomImage = "Classification/Room/Roombg.png",
+                //    uid = "168d27a1-9e53-42c0-95c9-f5cbf41ea167",
+                //    roomType = "ROOM",
+                //    parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
+                //    homeId = "1396717478877241345",
+                //    createTime = "1623996973011",
+                //    modifyTime = "1623996973011",
+                //    floorRoomName = "1F-Master bedroom"
+                //};
+                //room2.SaveRoomFile();
                 var room3 = new Room()
                 {
                     roomId = "1405771193802285057",
-                    roomName = "椁愬巺",
+                    roomName = Language.CurrentLanguage == "Chinese"? "椁愬巺" : "Restaurant",
                     roomImage = "Classification/Room/Roombg.png",
                     uid = "ed7fc784-aace-44b8-97a3-bc3e727e598b",
                     roomType = "ROOM",
@@ -557,13 +560,13 @@
                     homeId = "1396717478877241345",
                     createTime = "1623996945225",
                     modifyTime = "1623996945225",
-                    floorRoomName = "1F-椁愬巺"
+                    floorRoomName = "1F-Restaurant"
                 };
                 room3.SaveRoomFile();
                 var room4 = new Room()
                 {
                     roomId = "1405771024583090178",
-                    roomName = "瀹㈠巺",
+                    roomName = Language.CurrentLanguage == "Chinese"? "瀹㈠巺" : "Drawing room",
                     roomImage = "Classification/Room/Roombg.png",
                     uid = "9191a3a2-026f-4667-a0b1-e3af699e7295",
                     roomType = "ROOM",
@@ -571,7 +574,7 @@
                     homeId = "1396717478877241345",
                     createTime = "1623996904880",
                     modifyTime = "1623996904880",
-                    floorRoomName = "1F-瀹㈠巺"
+                    floorRoomName = "1F-Drawing room"
                 };
                 room4.SaveRoomFile();
                 var floor = new SpatialInfo()
@@ -590,7 +593,7 @@
 
                 SpatialInfo.CurrentSpatial.FloorList.Add(floor);
                 SpatialInfo.CurrentSpatial.RoomList.Add(room1);
-                SpatialInfo.CurrentSpatial.RoomList.Add(room2);
+                //SpatialInfo.CurrentSpatial.RoomList.Add(room2);
                 SpatialInfo.CurrentSpatial.RoomList.Add(room3);
                 SpatialInfo.CurrentSpatial.RoomList.Add(room4);
 
@@ -601,7 +604,7 @@
                 {
                     sid = "light1",
                     deviceId = "light1",
-                    name = "RGB1",
+                    name = Language.CurrentLanguage == "Chinese"?  "瀹㈠巺姘涘洿鐏�1": "RGB light 1",
                     spk = SPK.LightRGB,
                     roomIds = new List<string>() { "1405771024583090178"},
                     collect = true,
@@ -619,7 +622,7 @@
                 {
                     sid = "light2",
                     deviceId = "light2",
-                    name = "RGB2",
+                    name = Language.CurrentLanguage == "Chinese" ? "瀹㈠巺姘涘洿鐏�2" : "RGB light 2",
                     spk = SPK.LightRGB,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -636,7 +639,7 @@
                 {
                     sid = "light3",
                     deviceId = "light3",
-                    name = "CCT1",
+                    name = Language.CurrentLanguage == "Chinese" ? "闃呰鐏�" : "CCT light",
                     spk = SPK.LightCCT,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -653,7 +656,7 @@
                 {
                     sid = "light4",
                     deviceId = "light4",
-                    name = "寮�鍏崇伅1",
+                    name = Language.CurrentLanguage == "Chinese" ? "澶х伅" : "light 1" ,
                     spk = SPK.LightSwitch,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -668,7 +671,7 @@
                 {
                     sid = "light5",
                     deviceId = "light5",
-                    name = "寮�鍏崇伅2",
+                    name = Language.CurrentLanguage == "Chinese" ? "寮�鍏崇伅" : "light 2",
                     spk = SPK.LightSwitch,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -683,7 +686,7 @@
                 {
                     sid = "curtain1",
                     deviceId = "curtain1",
-                    name = "寮�鍚堝笜",
+                    name = Language.CurrentLanguage == "Chinese" ? "寮�鍚堝笜" : "Curtain 1",
                     spk = SPK.CurtainTrietex,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -697,7 +700,7 @@
                 {
                     sid = "curtain2",
                     deviceId = "curtain2",
-                    name = "鍗峰笜",
+                    name = Language.CurrentLanguage == "Chinese" ? "鍗峰笜" : "Curtain 2",
                     spk = SPK.CurtainRoller,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -711,7 +714,7 @@
                 {
                     sid = "floorheat1",
                     deviceId = "floorheat1",
-                    name = "鍦版殩",
+                    name = Language.CurrentLanguage == "Chinese" ? "鍦版殩" : "Floorheat 1",
                     spk = SPK.FloorHeatStandard,
                     roomIds = new List<string>() { "1405771024583090178"},
                     attributes = new List<FunctionAttributes>()
@@ -729,7 +732,7 @@
                 {
                     sid = "scene1",
                     userSceneId = "scene1",
-                    name = "鏄庝寒妯″紡",
+                    name = Language.CurrentLanguage == "Chinese" ? "鏄庝寒妯″紡" : "Bright scene",
                     roomIds = new List<string>() { "1405771024583090178" },
                     gatewayId = "1234567890123456",
                     collect = true,
@@ -804,7 +807,7 @@
                 {
                     sid = "scene2",
                     userSceneId = "scene2",
-                    name = "娴极妯″紡",
+                    name = Language.CurrentLanguage == "Chinese" ? "娴极妯″紡" : "Romantic scene",
                     roomIds = new List<string>() { "1405771024583090178" },
                     gatewayId = "1234567890123456",
                     collect = false,
@@ -883,7 +886,7 @@
                 {
                     sid = "light6",
                     deviceId = "light6",
-                    name = "椁愬巺鐏�1",
+                    name = Language.CurrentLanguage == "Chinese" ? "椁愬巺鐏�1" : "Dining room light 1",
                     spk = SPK.LightSwitch,
                     roomIds = new List<string>() { room3.roomId },
                     attributes = new List<FunctionAttributes>()
@@ -898,7 +901,7 @@
                 {
                     sid = "light7",
                     deviceId = "light7",
-                    name = "椁愬巺鐏�2",
+                    name = Language.CurrentLanguage == "Chinese" ? "椁愬巺鐏�2" : "Dining room light 2",
                     spk = SPK.LightSwitch,
                     roomIds = new List<string>() { room3.roomId },
                     attributes = new List<FunctionAttributes>()
@@ -913,7 +916,7 @@
                 {
                     sid = "scene3",
                     userSceneId = "scene3",
-                    name = "娓╅Θ妯″紡",
+                    name = Language.CurrentLanguage == "Chinese" ? "娓╅Θ妯″紡" : "Warm scene",
                     roomIds = new List<string>() { room3.roomId },
                     gatewayId = "1234567890123456",
                     collect = true,
@@ -950,7 +953,7 @@
                 {
                     sid = "scene4",
                     userSceneId = "scene4",
-                    name = "瑗块妯″紡",
+                    name = Language.CurrentLanguage == "Chinese" ? "瑗块妯″紡" : "Western food mode",
                     roomIds = new List<string>() { room3.roomId },
                     gatewayId = "1234567890123456",
                     collect = false,
@@ -989,7 +992,7 @@
                 {
                     sid = "ac1",
                     deviceId = "ac1",
-                    name = "鍗у绌鸿皟",
+                    name = Language.CurrentLanguage == "Chinese" ? "鍗у绌鸿皟" : "Bedroom air conditioning",
                     spk = SPK.AcStandard,
                     roomIds = new List<string>() { room3.roomId },
                     attributes = new List<FunctionAttributes>()
@@ -1003,26 +1006,26 @@
                     }
                 };
                 ac.SaveFunctionFile();
-                var scene5 = new Scene()
-                {
-                    sid = "scene5",
-                    userSceneId = "scene5",
-                    name = "闃呰",
-                    roomIds = new List<string>() { room2.roomId },
-                    gatewayId = "1234567890123456",
-                    collect = true,
-                };
-                scene5.SaveSceneFile();
-                var scene6 = new Scene()
-                {
-                    sid = "scene6",
-                    userSceneId = "scene6",
-                    name = "璧峰簥",
-                    roomIds = new List<string>() { room2.roomId },
-                    gatewayId = "1234567890123456",
-                    collect = false,
-                };
-                scene6.SaveSceneFile();
+                //var scene5 = new Scene()
+                //{
+                //    sid = "scene5",
+                //    userSceneId = "scene5",
+                //    name = Language.CurrentLanguage == "Chinese" ? "闃呰" : "Reading mode",
+                //    roomIds = new List<string>() { room2.roomId },
+                //    gatewayId = "1234567890123456",
+                //    collect = true,
+                //};
+                //scene5.SaveSceneFile();
+                //var scene6 = new Scene()
+                //{
+                //    sid = "scene6",
+                //    userSceneId = "scene6",
+                //    name = Language.CurrentLanguage == "Chinese" ? "璧峰簥" : "Wake up scene",
+                //    roomIds = new List<string>() { room2.roomId },
+                //    gatewayId = "1234567890123456",
+                //    collect = false,
+                //};
+                //scene6.SaveSceneFile();
                 #endregion
 
 
@@ -1030,7 +1033,7 @@
                 {
                     sid = "lightSwitch6",
                     deviceId = "lightSwitch6",
-                    name = "娲楁墜闂寸伅",
+                    name = Language.CurrentLanguage == "Chinese" ? "娲楁墜闂寸伅" : "Toilet light",
                     spk = SPK.LightSwitch,
                     roomIds = new List<string>() { room1.roomId },
                     attributes = new List<FunctionAttributes>()
@@ -1046,10 +1049,10 @@
 
                 var fileList = Common.FileUtlis.Files.ReadFiles();
 
-                foreach (var file in fileList)
-                {
-                    FunctionList.List.IniFunctionList(file,true);
-                }
+                //foreach (var file in fileList)
+                //{
+                //    FunctionList.List.IniFunctionList(file,true);
+                //}
 
                 Room.CurrentSpatial.InitRoomListFunctions();
 
diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
index 05cabc6..f00ffbe 100644
--- a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs
@@ -134,7 +134,7 @@
             };
 #endregion
 
-#region 鍒嗕韩涓庡姛鑳�
+            #region 鍒嗕韩涓庡姛鑳�
             shareMenuButton = new MenuButton()
             {
                 X = allMenuButton.Right,
@@ -150,7 +150,7 @@
                 MenuButtonSelect(1);
             };
             shareMenuButton.SelectAction = shateAction;
-#endregion
+            #endregion
 
 #region 鎶ヨ绫�
             alarmMenuButton = new MenuButton()
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index 214f4d8..246e637 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -248,17 +248,15 @@
                         }
                     }
 
-
                     new System.Threading.Thread(() =>
                     {
                         //闇�瑕佺Щ鍔ㄧ殑楂樺害
-                        var runHeight = Application.GetRealWidth(i / 2 * 142);
+                        var runHeight = Application.GetRealWidth(i * 142);
 
                         int runCount = 0;
                         //寰幆娆℃暟锛屽姩鐢绘晥鏋滈渶瑕佸湪1绉� 锛�10娆★級鍐呭畬鎴�
-                        while (runCount == 9)
+                        while (runCount < 9)
                         {
-                            System.Threading.Thread.Sleep(100);
                             Application.RunOnMainThread(() =>
                             {
                                 if (childView.GetType() == typeof(FrameLayout))
@@ -267,10 +265,11 @@
                                 }
                                 if (i > 0)
                                 {
-                                    childView.Y += runDirection * Application.GetRealWidth(14 * i / 2);
+                                    childView.Y += runDirection * Application.GetRealWidth(14 * i);
                                 }
                             });
                             runCount++;
+                            System.Threading.Thread.Sleep(8);
                         }
                         Application.RunOnMainThread(() =>
                         {
@@ -280,48 +279,16 @@
                             {
                                 if (runDirection == 1)
                                 {
-                                    childView.Height = Application.GetRealWidth(192);
+                                    childView.Height = Application.GetRealWidth(192+20);
                                 }
                                 else
                                 {
-                                    childView.Height = Application.GetRealWidth(70);
+                                    childView.Height = Application.GetRealWidth(70+20);
                                 }
                             }
                         });
                     })
                     { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
-
-                    //if (childView.GetType() == typeof(Button))
-                    //{
-                    //    new System.Threading.Thread(() => {
-                    //        //寰幆娆℃暟锛屽姩鐢绘晥鏋滈渶瑕佸湪1绉� 锛�10娆★級鍐呭畬鎴�
-                    //        int runCount = 9;
-                    //        //闇�瑕佺Щ鍔ㄧ殑楂樺害
-                    //        var runHeight = i / 2 * Application.GetRealWidth(142);
-
-                    //        while (runCount == 0)
-                    //        {
-                    //            System.Threading.Thread.Sleep(100);
-                    //            Application.RunOnMainThread(() =>
-                    //            {
-                    //                childView.Height += Application.GetRealWidth(14) * runDirection;
-                    //            });
-                    //        }
-                    //        Application.RunOnMainThread(() =>
-                    //        {
-                    //            if (runDirection == 1)
-                    //            {
-                    //                childView.Height = Application.GetRealWidth(192 + 20);
-                    //            }
-                    //            else
-                    //            {
-                    //                childView.Height = Application.GetRealWidth(70 + 20);
-                    //            }
-                    //        });
-                    //    })
-                    //    { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
-                    //}
-
                 }
             }
             else
@@ -374,7 +341,7 @@
         {
             roomView.RemoveAll();
             roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor;
-
+            roomView.BackgroundColor = CSS_Color.MainBackgroundColor;
             var roomViewbg = new ImageView()
             {
                 Width = Application.GetRealWidth(343),
@@ -481,6 +448,7 @@
 
             var roomViewbgColor = new Button()
             {
+                Height = Application.GetRealWidth(192),
                 Radius = (uint)Application.GetRealWidth(12),
                 BackgroundColor = 0x19333333,
             };
@@ -499,13 +467,13 @@
             roomView.AddChidren(btnAllClose);
             LoadEvent_CloseAllFunction(btnAllClose, room);
 
-            var btn = new Button()
-            {
-                Y = Application.GetRealWidth(192),
-                Height = Application.GetRealWidth(20),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-            };
-            roomView.AddChidren(btn);
+            //var btn = new Button()
+            //{
+            //    Y = Application.GetRealWidth(192),
+            //    Height = Application.GetRealWidth(20),
+            //    BackgroundColor = CSS_Color.MainBackgroundColor,
+            //};
+            //roomView.AddChidren(btn);
 
             roomViewbgColor.MouseUpEventHandler += (sender, e) =>
             {
@@ -540,11 +508,22 @@
         {
             roomView.RemoveAll();
             roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor;
+            roomView.BackgroundColor = CSS_Color.BackgroundColor;
+
+
+            var viewbg = new ImageView()
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(70),
+                Radius = (uint)Application.GetRealWidth(12),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            roomView.AddChidren(viewbg);
 
             var btnRoomName = new Button()
             {
                 X = Application.GetRealWidth(16),
-                Y = Application.GetRealHeight(12 - 2),
+                //Y = Application.GetRealHeight(12 - 2),
                 Width = Application.GetRealWidth(266),
                 Height = Application.GetRealHeight(52),
                 Text = room.roomName,
@@ -557,7 +536,7 @@
             var btnFloorName = new Button()
             {
                 X = Application.GetRealWidth(16),
-                Y = Application.GetRealHeight(42),
+                Y = Application.GetRealHeight(19),
                 Width = Application.GetRealWidth(266),
                 Height = Application.GetRealHeight(46),
                 Text = room.floorName,
@@ -578,7 +557,7 @@
             var btnAllClose = new Button()
             {
                 X = Application.GetRealWidth(288),
-                Gravity = Gravity.CenterVertical,
+                Y = Application.GetRealWidth(10),
                 Width = Application.GetMinRealAverage(58),
                 Height = Application.GetMinRealAverage(58),
                 UnSelectedImagePath = "Classification/Room/AllCloseIcon2.png",
@@ -588,13 +567,13 @@
             roomView.AddChidren(btnAllClose);
             LoadEvent_CloseAllFunction(btnAllClose, room);
 
-            var btn = new Button()
-            {
-                Y = Application.GetRealWidth(70),
-                Height = Application.GetRealWidth(20),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-            };
-            roomView.AddChidren(btn);
+            //var btn = new Button()
+            //{
+            //    Y = Application.GetRealWidth(70),
+            //    Height = Application.GetRealWidth(20),
+            //    BackgroundColor = CSS_Color.BackgroundColor,
+            //};
+            //roomView.AddChidren(btn);
 
             roomViewbg.MouseUpEventHandler += (sender, e) =>
             {
@@ -717,19 +696,24 @@
                         break;
                     case ShowFunction.FreshAir:
                         functionCount = FunctionList.List.GetAirFreshList().Count;
+                        functionOnCount = FunctionList.List.GetAirFreshList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         break;
                     case ShowFunction.Music:
-                        functionCount = Music.A31MusicModel.A31MusicModelList.Count;
-                        functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
-                        if(functionCount == 0)
-                        {
-                            functionCount = FunctionList.List.GetMusicList().Count;
-                        }
+                        //functionCount = Music.A31MusicModel.A31MusicModelList.Count;
+                        //functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        //if(functionCount == 0)
+                        //{
+                        //    functionCount = FunctionList.List.GetMusicList().Count;
+                        //}
+                        functionCount = 1;
                         break;
                     case ShowFunction.Panel:
                         break;
                     case ShowFunction.SecurityMonitoring:
-                        functionCount = 1;
+                        if (!MainPage.NoLoginMode)
+                        {
+                            functionCount = 1;
+                        }
                         break;
                     case ShowFunction.Sensor:
                         functionCount = FunctionList.List.GetArmSensorList().Count;
@@ -803,7 +787,7 @@
                 functionView.AddChidren(btnName);
 
                 if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
-                    && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir
+                    && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music
                     && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
                     && functionCount != 0)
                 {
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index e0dbadc..ba7121f 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -309,7 +309,7 @@
                 Height = Application.GetMinRealAverage(32),
                 UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                 SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
-                IsSelected = function.GetAttrState(FunctionAttributeKey.Percent) == "0",
+                IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "off",
                 Tag = function.sid + "_off"
             };
             bodyDiv.AddChidren(btnCurtainClose);
@@ -340,7 +340,7 @@
                 UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
                 SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
                 Tag = function.sid + "_on",
-                IsSelected = function.GetAttrState(FunctionAttributeKey.Percent) != "0"
+                IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "on",
             };
             bodyDiv.AddChidren(btnCurtainOpen);
             if (function.spk == SPK.CurtainRoller)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
index 418ce6a..ff17320 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -138,6 +138,7 @@
                 //    }
                 //    catch { }
                 //}
+                
                 if (temp != null)
                 {
                     temp = sceneFunction;
@@ -188,6 +189,13 @@
             {
                 row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
             }
+            else
+            {
+                if(sceneStatus.value == "stop")
+                {
+                    sceneStatus.value = "on";
+                }
+            }
             Button btnRight = new Button()
             {
                 X = Application.GetRealWidth(339),
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
index c21a787..eee4090 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -262,6 +262,7 @@
                 }
                 btnExit.MouseUpEventHandler = (sender, e) =>
                 {
+                    UserInfo.Current.ClearUserInfo();
                     HDLCommon.Current.Logout();
                 };
                 bodyView.AddChidren(btnExit);
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
index 53fb6d3..9ddce15 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
@@ -163,7 +163,6 @@
                     {
                         var regionId = (string)btnHomeName.Tag;
                         dialog.Close();
-                        //LoadEvent_ChangeCurHome(UserInfo.Current.regionList.Find((obj) => obj.RegionID == regionId));
                         LoadEvent_ChangeCurHome(home);
                         LoadContentView();
                     };
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs
index 1299e74..1f4fb17 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs
@@ -59,7 +59,7 @@
                         var library = Newtonsoft.Json.JsonConvert.DeserializeObject<Library>(str);
                         if (library != null)
                         {
-                            if (libraryList.Count < 40)
+                            if (libraryList.Count < 60)
                             {
                                 //闄愬埗40涓簱锛�
                                 libraryList.Add(library);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
index 4cf8131..e0a5cfe 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
@@ -96,6 +96,8 @@
             this.RefreshNowDeviceStatuMemory(this.device);
             //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
             this.InitFrameWhiteContent1();
+
+            Control.Ins.SendReadCommand(device);
         }
 
         /// <summary>
@@ -241,7 +243,7 @@
             this.FrameWhiteCentet1.AddChidren(btnFanView);
 
             //寮�鍏冲浘鏍�
-            this.btnSwitch = new IconViewControl(40);
+            this.btnSwitch = new IconViewControl(32);
             btnSwitch.Gravity = Gravity.CenterHorizontal;
             btnSwitch.Y = Application.GetRealHeight(468);
             btnSwitch.UnSelectedImagePath = "Public/PowerClose.png";
@@ -579,6 +581,10 @@
             dic[FunctionAttributeKey.Energy] = this.airFreshData.Energy;
             //椋庨��
             dic[FunctionAttributeKey.FanSpeed] = this.airFreshData.Fan ;
+            //瀹ゅ唴娓╁害
+            dic[FunctionAttributeKey.IndoorTemp] =  this.airFreshData.Indoor_temp.ToString();
+            ///瀹ゅ唴婀垮害
+            dic[FunctionAttributeKey.IndoorHumidity] = this.airFreshData.Indoor_humidity.ToString();
 
             return dic;
         }
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs
index 535912c..5a653c0 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs
@@ -54,7 +54,7 @@
                                             Language.StringByID(StringId.Mode),
                                             "");
             patternView.Y = Application.GetRealHeight(263);
-            patternView.X = Application.GetRealWidth(57);
+            patternView.X = Application.GetRealWidth(36);
             patternView.Width = Application.GetRealWidth(96);
             patternView.Height = Application.GetRealHeight(74);
             FrameWhiteCentet1.AddChidren(patternView);
@@ -71,7 +71,7 @@
                                             Language.StringByID(StringId.HeadSwinging),
                                             "");
             swingView.Y = Application.GetRealHeight(263);
-            swingView.X = Application.GetRealWidth(216);
+            swingView.X = Application.GetRealWidth(229-34);
             swingView.Width = Application.GetRealWidth(96);
             swingView.Height = Application.GetRealHeight(74);
             FrameWhiteCentet1.AddChidren(swingView);
@@ -89,7 +89,7 @@
                                             Language.StringByID(StringId.Timing),
                                             "");
             timingView.Y = Application.GetRealHeight(366);
-            timingView.X = Application.GetRealWidth(57);
+            timingView.X = Application.GetRealWidth(36);
             timingView.Width = Application.GetRealWidth(96);
             timingView.Height = Application.GetRealHeight(74);
             FrameWhiteCentet1.AddChidren(timingView);
@@ -106,8 +106,8 @@
                                             "FunctionIcon/IrFan/SpeedIconOn.png",
                                             Language.StringByID(StringId.AirVolume),
                                             "");
-            airVolumeView.Y = Application.GetRealHeight(263);
-            airVolumeView.X = Application.GetRealWidth(216);
+            airVolumeView.Y = Application.GetRealHeight(366);
+            airVolumeView.X = Application.GetRealWidth(229 - 34);
             airVolumeView.Width = Application.GetRealWidth(96);
             airVolumeView.Height = Application.GetRealHeight(74);
             FrameWhiteCentet1.AddChidren(airVolumeView);
@@ -184,9 +184,9 @@
 
             btnTitle = new Button()
             {
-                Gravity = Gravity.Center,
+                Y = btnIcon.Bottom,
                 Text = title,
-                Height = Application.GetRealHeight(42),
+                Height = Application.GetRealHeight(30),
                 TextColor = CSS_Color.TextualColor,
                 SelectedTextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
@@ -208,9 +208,11 @@
             btnIcon.MouseUpEventHandler = eventHandler;
             btnTitle.MouseUpEventHandler = eventHandler;
             btnIcon.MouseDownEventHandler = (sender, e) => {
+                btnTitle.IsSelected = true;
                 btnIcon.IsSelected = true;
             };
             btnTitle.MouseDownEventHandler = (sender, e) => {
+                btnTitle.IsSelected = true;
                 btnIcon.IsSelected = true;
             };
             btnIcon.MouseUpEventHandler += (sender, e) => {
@@ -218,7 +220,8 @@
                     System.Threading.Thread.Sleep(500);
                     Application.RunOnMainThread(() =>
                     {
-                        btnIcon.IsSelected = true;
+                        btnTitle.IsSelected = false;
+                        btnIcon.IsSelected = false;
                     });
                 })
                 { IsBackground = true }.Start();
@@ -228,7 +231,8 @@
                     System.Threading.Thread.Sleep(500);
                     Application.RunOnMainThread(() =>
                     {
-                        btnIcon.IsSelected = true;
+                        btnTitle.IsSelected = false;
+                        btnIcon.IsSelected = false;
                     });
                 })
                 { IsBackground = true }.Start();
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
index b20523e..5da48b0 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
@@ -105,13 +105,33 @@
                 {
                     lightTemp.SetRGBcolor(e2,function);
                     colorChangeTime = DateTime.Now;
-                    btnCurColor.BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function));
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.RGB, lightTemp.GetRGBcolorString(function));
                     Control.Ins.SendWriteCommand(function, d);
                 }
+
             };
             colorPicker.MouseDownEventHandler += (sender, e) =>
+            {
+                if (function.trait_on_off.curValue.ToString() == "off")
+                {
+                    return;
+                }
+                pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y);
+                if (pointIsRight == false)
+                {
+                    //鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐�
+                    return;
+                }
+                //鏄剧ず鐧界偣
+                btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2;
+                btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2;
+                if (btnWhiteRound.Visible == true)
+                {
+                    btnWhiteRound.Visible = false;
+                }
+            };
+            colorPicker.MouseUpEventHandler += (sender, e) =>
             {
                 if (function.trait_on_off.curValue.ToString() == "off")
                 {
@@ -131,10 +151,30 @@
                     btnWhiteRound.Visible = true;
                 }
             };
+
+
+
             colorPicker.MouseMoveEventHandler += (sender, e) =>
             {
                 //褰撻紶鏍囩偣涓嬩簨浠跺鐞�
-                colorPicker.MouseDownEventHandler(sender, e);
+                if (function.trait_on_off.curValue.ToString() == "off")
+                {
+                    return;
+                }
+                pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y);
+                if (pointIsRight == false)
+                {
+                    //鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐�
+                    return;
+                }
+                //鏄剧ず鐧界偣
+                btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2;
+                btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2;
+                if (btnWhiteRound.Visible == false)
+                {
+                    btnWhiteRound.Visible = true;
+                }
+                btnCurColor.BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function));
             };
         }
 
diff --git a/HDL_ON/UI/UI2/UserPage.cs b/HDL_ON/UI/UI2/UserPage.cs
index 8147061..2da462c 100644
--- a/HDL_ON/UI/UI2/UserPage.cs
+++ b/HDL_ON/UI/UI2/UserPage.cs
@@ -302,7 +302,7 @@
         /// <summary>
         /// 鍒囨崲鍒版敹钘忕晫闈�
         /// </summary>
-        void ChooseCollection()
+        public void ChooseCollection()
         {
             if (MainPage.CurPageIndex == 0)
             {

--
Gitblit v1.8.0