From 6de7f8a29b04737d80ad8cb17804fcc50d267bd9 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 20 十月 2023 14:21:28 +0800
Subject: [PATCH] 2.3版本

---
 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs                         |    6 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png |    0 
 HDL-ON_Android/Properties/AndroidManifest.xml                                       |    2 
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs                                                |   74 ++++++++-
 HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png       |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs                      |    6 
 HDL-ON_iOS/HDL-ON_iOS.csproj                                                        |   12 +
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs                   |   15 +
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs          |   18 +
 HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulInfoPage.cs                          |   16 -
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorlight.png                        |    0 
 HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs                         |   24 ++
 HDL-ON_iOS/AppDelegate.cs                                                           |   11 +
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on.png              |    0 
 HDL_ON/Entity/Function/Sensor.cs                                                    |    8 
 HDL-ON_Android/HDL-ON_Android.csproj                                                |    7 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png         |    0 
 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs                                             |    4 
 HDL-ON_iOS/Info.plist                                                               |    4 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorlight.png                       |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs                     |    6 
 HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SensorPirPage.cs                         |    4 
 HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs                       |   47 +++++
 HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png        |    0 
 HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs                          |   66 ++++++++
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png  |    0 
 HDL_ON/DAL/DriverLayer/Control.cs                                                   |    3 
 HDL_ON/UI/MainPage.cs                                                               |    2 
 HDL_ON/UI/UI1-Login/LoginPage.cs                                                    |   15 +
 HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on.png             |    0 
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs                               |    1 
 HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png  |    0 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off.png             |    0 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png   |    0 
 HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png        |    0 
 HDL_ON/UI/UI1-Login/RegisterPage.cs                                                 |    1 
 HDL_ON/Entity/Function/Function.cs                                                  |   10 
 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs                               |   85 +++++++++
 HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off.png            |    0 
 HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SenesorMegahealthPage.cs                 |    6 
 40 files changed, 386 insertions(+), 67 deletions(-)

diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorlight.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorlight.png
new file mode 100644
index 0000000..4ac2186
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorlight.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off.png
new file mode 100644
index 0000000..55fe174
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png
new file mode 100644
index 0000000..96a1303
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png
new file mode 100644
index 0000000..0b2d8e7
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on.png
new file mode 100644
index 0000000..4dd5fff
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png
new file mode 100644
index 0000000..4496b78
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png
new file mode 100644
index 0000000..15aa556
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png
Binary files differ
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index db820e2..41524db 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -612,6 +612,13 @@
     <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensordryContact_white.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_blue.png" />
     <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_white.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorlight.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_off_home_click.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_off_home.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_off.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_on_home_click.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_on_home.png" />
+    <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_on.png" />
   </ItemGroup>
   <ItemGroup>
     <AndroidResource Include="Resources\values\colors.xml" />
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index 54e6f6e..a4d7874 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:versionName="2.2.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202310131">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.3.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202310201">
 	<uses-sdk android:minSdkVersion="26" android:targetSdkVersion="30" />
 	<uses-permission android:name="android.permission.RECEIVE_SMS" />
 	<!--鍙嬬洘-->
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 86dd531..f70d5d8 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -62,6 +62,17 @@
         {
             UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
         }
+        
+        [Export("application:shouldAllowExtensionPointIdentifier:")]
+        public override bool ShouldAllowExtensionPointIdentifier(UIApplication application, NSString extensionPointIdentifier)
+        {
+            //if (extensionPointIdentifier == UIApplicationKeyboardExtensionPointIdentifier)
+            //{
+            //    return false;
+            //}
+            return true;
+
+        }
 
         public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
         {
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index b218343..8618ee8 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1768,6 +1768,18 @@
       <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_white.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorpir_hold.png" />
       <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensordryContact.png" />
+      <BundleResource Include="Resources\Phone\Collection\FunctionArmOnbg.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensormegahealth.png" />
+      <BundleResource Include="Resources\Phone\LogicIcon\selectlocation.png" />
+      <BundleResource Include="Resources\Phone\LogicIcon\ganjiedian.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\FunctionBg\VideoDoorLockFunctionBg.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorlight.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_off_home_click.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_off_home.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_off.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_on_home_click.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_on_home.png" />
+      <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_on.png" />
     </ItemGroup>
     <ItemGroup>
       <ITunesArtwork Include="iTunesArtwork" />
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index f3bf464..dd41d60 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -11,7 +11,7 @@
 	<key>CFBundleName</key>
 	<string>On Pro</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.2.0</string>
+	<string>2.3.0</string>
 	<key>CFBundleURLTypes</key>
 	<array>
 		<dict>
@@ -36,7 +36,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>2.2.0</string>
+	<string>2.3.0</string>
 	<key>LSApplicationQueriesSchemes</key>
 	<array>
 		<string>weixinULAPI</string>
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorlight.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorlight.png
new file mode 100644
index 0000000..4ac2186
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorlight.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off.png
new file mode 100644
index 0000000..55fe174
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png
new file mode 100644
index 0000000..96a1303
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png
new file mode 100644
index 0000000..0b2d8e7
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_off_home_click.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on.png
new file mode 100644
index 0000000..4dd5fff
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png
new file mode 100644
index 0000000..4496b78
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png
new file mode 100644
index 0000000..15aa556
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightScene/gp_all_on_home_click.png
Binary files differ
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index ca48600..5b31d17 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -1497,6 +1497,7 @@
                             case SPK.SensorTemperature:
                             case SPK.SensorHumidity:
                             case SPK.SensorHcho:
+                            case SPK.SensorLight:
                                 if (localFunction.spk == SPK.SensorTemperature)
                                 {
                                     HomePage.LoadEvent_RefreshEnvirIndoorTemp();
@@ -1578,7 +1579,7 @@
                                     switch (tempStatus.state)
                                     {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
                                         case "0":
-                                            localFunction.lastState = Language.StringByID(StringId.SensorNormalState);
+                                            localFunction.lastState = Language.StringByID(StringId.wuren);
                                             break;
                                         case "1":
                                             localFunction.lastState = Language.StringByID(StringId.SomeoneIn);
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 45b0b35..011c185 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -177,9 +177,9 @@
                     case SPK.OtherCommon:
                         iconPath = "sensordryContact";
                         break;
-                    case SPK.SensorLight:
-                        iconPath = "lightswitch";
-                        break;
+                    //case SPK.SensorLight:
+                    //    iconPath = "lightswitch";
+                    //    break;
                     case SPK.AirSwitchP3:
                         iconPath = "electricalbreaker";
                         break;
@@ -1494,6 +1494,10 @@
         public const string Temperature = "temperature";
         public const string Hcho = "hcho";
         public const string Humidity = "humidity";
+        /// <summary>
+        /// 鐓у害
+        /// </summary>
+        public const string Illuminance = "illuminance";
         public const string Pm25 = "pm25";
         public const string Tvoc = "tvoc";
         /// <summary>
diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index b232cab..b363c9f 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -90,10 +90,10 @@
         /// </summary>
         public List<string> GetIntervalValue(string spk)
         {
-            if(_intervalValue.Count != 0)
-            {
-                return _intervalValue;
-            }
+            //if (_intervalValue.Count != 0)
+            //{
+            //    return _intervalValue;
+            //}
             _intervalValue = new List<string>();
             switch (spk)
             {
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index bcc10e7..6f0454c 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string VersionString = "2.2.0";
+        public static string VersionString = "2.3.0";
         ///// <summary>
         ///// 瀹㈡埛绔被鍨�
         ///// </summary>
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index acdb095..d4ba44d 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -478,6 +478,9 @@
                 PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
                 TextAlignment = TextAlignment.CenterLeft,
             };
+#if __IOS__
+            etAccount.MyTextContentType = UIKit.UITextContentType.Name;
+#endif
             accountView.AddChidren(etAccount);
 
             if (userInfo != null && userInfo.ID != "1234567890")
@@ -1293,6 +1296,18 @@
                     },
                 });
 
+                FunctionList.List.Functions.Add(new Function()
+                {
+                    spk = SPK.SensorLight,
+                    name = "鍏夌収浼犳劅鍣�",
+                    //collect = true,
+                    sid = "SensorLightsss000001",
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes(){ key = "illuminance",curValue= "100",state = "100" },
+                    },
+                });
+
 
                 FunctionList.List.Functions.Add(new Function()
                 {
diff --git a/HDL_ON/UI/UI1-Login/RegisterPage.cs b/HDL_ON/UI/UI1-Login/RegisterPage.cs
index e6225f9..a52fe5e 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPage.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPage.cs
@@ -238,6 +238,7 @@
             };
 
             pm = new HttpServerRequest();
+
         }
 
         //public RegisterPage(Action action)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 84471ba..d3a4868 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1294,7 +1294,7 @@
                         switch (tempStatus.state)
                         {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
                             case "0":
-                                function.lastState = Language.StringByID(StringId.SensorNormalState);
+                                function.lastState = Language.StringByID(StringId.wuren);
                                 break;
                             case "1":
                                 function.lastState = Language.StringByID(StringId.SomeoneIn);
@@ -1411,7 +1411,8 @@
                 if (//SPK.CurtainSpkList().Contains(function.spk))
                     function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades ||
                     function.spk == SPK.CurtainDream ||
-                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex)
+                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex
+                    )
                 {
                     btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                     btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -1426,6 +1427,7 @@
                         SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png",
                     };
                     view.AddChidren(btnCurtainClose);
+                   
 
                     Button btnCurtainOpen;
                     btnCurtainOpen = new Button()
@@ -1476,7 +1478,7 @@
                     view.AddChidren(btnPower);
 
                     btnState.Text = function.GetAttrState("song_name");
-
+                    btnState.Width = Application.GetRealWidth(90);
                     btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                     btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1
 
@@ -1568,11 +1570,67 @@
                     //涓轰簡鍘绘帀寮�鍏虫寜閽�
                     btnIcon.UnSelectedImagePath = "AksIcon/yingyinzhongkong1.png";
                 }
-                //else if (function.spk == SPK.GroupControl)
-                //{
-                //    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png";
-                //    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png";
-                //}
+                else if (function.spk == SPK.GroupControl)
+                {
+                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+                    if (function.spk == SPK.GroupControl)
+                    {
+                        Button btnClose;
+                        Button btnOpen;
+                        btnOpen = new Button()
+                        {
+                            X = Application.GetRealWidth(84),
+                            Y = Application.GetRealWidth(89),
+                            Width = Application.GetRealWidth(40),
+                            Height = Application.GetRealWidth(40),
+                            UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home.png",
+                            SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home_click.png",
+                        };
+                        view.AddChidren(btnOpen);
+
+
+                        btnClose = new Button()
+                        {
+                            X = btnOpen.Right,
+                            Y = Application.GetRealWidth(89),
+                            Width = Application.GetRealWidth(40),
+                            Height = Application.GetRealWidth(40),
+                            UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home.png",
+                            SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home_click.png",
+                        };
+                        view.AddChidren(btnClose);
+
+
+                        btnClose.MouseDownEventHandler = (sender, e) => {
+                            btnClose.IsSelected = true;
+                        };
+
+                        btnClose.MouseUpEventHandler = (sender, e) => {
+                            btnClose.IsSelected = false;
+                            if (function.spk == SPK.GroupControl)
+                            {
+                                var d = new Dictionary<string, string>();
+                                d.Add("on_off", "off");
+                                (function as GroupControl).Control(d);
+                            }
+                        };
+                        btnOpen.MouseDownEventHandler = (sender, e) => {
+                            btnOpen.IsSelected = true;
+                        };
+                        btnOpen.MouseUpEventHandler = (sender, e) => {
+                            btnOpen.IsSelected = false;
+                            if (function.spk == SPK.GroupControl)
+                            {
+                                var d = new Dictionary<string, string>();
+                                d.Add("on_off", "on");
+                                (function as GroupControl).Control(d);
+                            }
+                        };
+
+
+                    }
+                }
                 else if (function.spk == SPK.ElectricEnergy || function.spk == SPK.AirSwitch || function.spk == SPK.AirSwitchP3)
                 {
 
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index 7e6f261..d47510b 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -698,7 +698,6 @@
                 d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString());
                 Control.Ins.SendWriteCommand(curtain, d);
             };
-
             btnOpen.MouseUpEventHandler = (sender, e) =>
             {
                 //if (!curtain.isOnline())//绂荤嚎涓嶅厑璁告搷浣�
@@ -712,9 +711,10 @@
                 //    return;
                 //}
                 btnOpen.IsSelected = true;
+                Dictionary<string, string> d = new Dictionary<string, string>();
+
                 curtain.trait_on_off.curValue = "on";
                 curtain.SetAttrState(FunctionAttributeKey.Percent, 100);
-                Dictionary<string, string> d = new Dictionary<string, string>();
                 d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString());
                 Control.Ins.SendWriteCommand(curtain, d);
             };
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
index 934f962..25b3591 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -193,7 +193,7 @@
                                                     switch (tempStatus.state)
                                                     {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
                                                         case "0":
-                                                            btnStatus.TextID = StringId.SensorNormalState;
+                                                            btnStatus.TextID = StringId.wuren;
                                                             btnStatus.TextColor = CSS_Color.MainColor;
                                                             break;
                                                         case "1":
@@ -248,6 +248,70 @@
                                             }
                                         }
                                     }
+
+                                    else if (SPK.ArmSensorSpkList().Contains(updataFunction.spk))
+                                    {
+                                        if (cTag == updataFunction.sid + "_Sensor_Status")
+                                        {
+                                            Button btnStatus = (fcView.GetChildren(j) as Button);
+
+                                            var alarm_status = updataFunction.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus);
+                                            if (alarm_status != null)
+                                            {
+                                                if (alarm_status.curValue.ToString() == "normal")
+                                                {
+                                                    btnStatus.TextID = StringId.SensorNormalState;
+                                                    btnStatus.TextColor = CSS_Color.MainColor;
+                                                }
+                                                else
+                                                {
+                                                    btnStatus.TextID = StringId.InAlarm;
+                                                    btnStatus.TextColor = CSS_Color.WarningColor;
+                                                }
+                                            }
+                                            else
+                                            {
+                                                alarm_status = updataFunction.attributes.Find((sta) => sta.key == "contact_status");
+                                                if (alarm_status != null)
+                                                {
+                                                    if (alarm_status.curValue.ToString() == "close")
+                                                    {
+                                                        btnStatus.TextID = StringId.Shut;
+                                                        btnStatus.TextColor = CSS_Color.MainColor;
+                                                    }
+                                                    else
+                                                    {
+                                                        if (updataFunction.spk == SPK.SensorDryContact || updataFunction.spk == SPK.SensorDryContact2)
+                                                        {
+                                                            btnStatus.TextID = StringId.DryBreak;
+                                                        }
+                                                        else
+                                                        {
+                                                            btnStatus.TextID = StringId.Open;
+                                                        }
+                                                        btnStatus.TextColor = CSS_Color.WarningColor;
+                                                    }
+                                                }
+                                                else
+                                                {
+                                                    alarm_status = updataFunction.attributes.Find((sta) => sta.key == "people_status");
+                                                    if (alarm_status != null)
+                                                    {
+                                                        if (alarm_status.curValue.ToString() == "false")
+                                                        {
+                                                            btnStatus.TextID = StringId.wuren;
+                                                            btnStatus.TextColor = CSS_Color.MainColor;
+                                                        }
+                                                        else
+                                                        {
+                                                            btnStatus.TextID = StringId.youren;
+                                                            btnStatus.TextColor = CSS_Color.WarningColor;
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
                                     //鏇存柊娓╂帶鍣ㄧ姸鎬�
                                     else if(SPK.HvacCac == updataFunction.spk)
                                     {
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index 99e296c..80844c1 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -101,7 +101,7 @@
                         Button btnTipPowerLow = new Button()
                         {
                             X = Application.GetRealWidth(307),
-                            Y = Application.GetRealHeight(25),
+                            Y = Application.GetRealHeight(45),
                             Width = Application.GetRealWidth(24),
                             Height = Application.GetRealWidth(24),
                             UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
@@ -137,7 +137,7 @@
                         switch (tempStatus.state)
                         {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
                             case "0":
-                                btnStatus.TextID = StringId.SensorNormalState;
+                                btnStatus.TextID = StringId.wuren;
                                 btnStatus.TextColor = CSS_Color.MainColor;
                                 break;
                             case "1":
@@ -187,6 +187,79 @@
                         }
 
 
+                    }
+
+                }
+
+                else if (SPK.ArmSensorSpkList().Contains(function.spk))
+                {
+                    var btnStatus = new Button()
+                    {
+                        X = Application.GetRealWidth(51),
+                        Y = Application.GetRealHeight(64),
+                        Height = Application.GetRealHeight(18),
+                        TextColor = CSS_Color.MainColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                        Text = "",
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Tag = function.sid + "_Sensor_Status"
+                    };
+                    bodyDiv.AddChidren(btnStatus);
+
+                    var alarm_status = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus);
+                    if(alarm_status!= null)
+                    {
+                        if (alarm_status.curValue.ToString() == "normal")
+                        {
+                            btnStatus.TextID = StringId.SensorNormalState;
+                            btnStatus.TextColor = CSS_Color.MainColor;
+                        }
+                        else
+                        {
+                            btnStatus.TextID = StringId.InAlarm;
+                            btnStatus.TextColor = CSS_Color.WarningColor;
+                        }
+                    }
+                    else
+                    {
+                        alarm_status = function.attributes.Find((sta) => sta.key == "contact_status");
+                        if (alarm_status != null)
+                        {
+                            if (alarm_status.curValue.ToString() == "close")
+                            {
+                                btnStatus.TextID = StringId.Shut;
+                                btnStatus.TextColor = CSS_Color.MainColor;
+                            }
+                            else
+                            {
+                                if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
+                                {
+                                    btnStatus.TextID = StringId.DryBreak;
+                                }
+                                else
+                                {
+                                    btnStatus.TextID = StringId.Open;
+                                }
+                                btnStatus.TextColor = CSS_Color.WarningColor;
+                            }
+                        }
+                        else
+                        {
+                            alarm_status = function.attributes.Find((sta) => sta.key == "people_status");
+                            if (alarm_status != null)
+                            {
+                                if (alarm_status.curValue.ToString() == "false")
+                                {
+                                    btnStatus.TextID = StringId.wuren;
+                                    btnStatus.TextColor = CSS_Color.MainColor;
+                                }
+                                else
+                                {
+                                    btnStatus.TextID = StringId.youren;
+                                    btnStatus.TextColor = CSS_Color.WarningColor;
+                                }
+                            }
+                        }
                     }
 
                 }
@@ -449,15 +522,15 @@
                 UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
                 IsSelected = function.collect
             };
-            if ( !SPK.ArmSensorSpkList().Contains(function.spk)
-                && function.spk != SPK.DoorLock
+            if ( !SPK.ArmSensorSpkList().Contains(function.spk)&& 
+                function.spk != SPK.DoorLock
                 && function.spk != SPK.GroupControl
-                && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
+                && !SPK.EnvironDeviceSpkList().Contains( function.spk))
             {
                 bodyDiv.AddChidren(btnCollectionIcon);
             }
 
-            if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+            if(function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold || function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
             {
                 bodyDiv.AddChidren(btnCollectionIcon);
             }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 345ebdd..f98a94d 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -269,11 +269,11 @@
                 case SPK.SensorHelp:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
-                        view.btnText.TextID = StringId.qiujiuandzhengchang;
+                        view.btnText.TextID = StringId.mubiaozhuangtai;
                         fLayout.AddChidren(view.FLayoutView());
                         view.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang );
+                            DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang ,1);
                         };
                         if (edit)
                         {
@@ -998,11 +998,20 @@
                     case StringId.onLogic:
                         {
                             value = "on";
+                            if (device.spk == SPK.SensorDryContact)
+                            {
+                                value = "open";
+                            }
+
                         }
                         break;
                     case StringId.offLogic:
                         {
                             value = "off";
+                            if (device.spk == SPK.SensorDryContact)
+                            {
+                                value = "close";
+                            }
                         }
                         break;
                     case StringId.youren:
@@ -1116,7 +1125,7 @@
             if (device.spk == SPK.SensorLight)
             {
                 //鐓ф槑浼犳劅鍣�
-                max =int.MaxValue;
+                max =1200;
             }
 
             new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) =>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index ff12c6b..ed476fe 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -218,9 +218,9 @@
                                 case SPK.SensorDryContact2:
                                     {
 
-                                        string value = this.GetKeyValue("on_off", dicList);
+                                        string value = this.GetKeyValue(FunctionAttributeKey.ContactStatus, dicList);
                                         inputView.btnState.Text = Language.StringByID(StringId.offLogic);
-                                        if (value == "on")
+                                        if (value == "open")
                                         {
                                             inputView.btnState.Text = Language.StringByID(StringId.onLogic);
                                         }
@@ -2292,7 +2292,7 @@
                         foreach (var dic in dicList)
                         {
                             string value = dic["value"];
-                            if (value == "on")
+                            if (value == "on" || value == "open")
                             {
                                 button1.Text = Language.StringByID(StringId.onLogic);
                             }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
index f39f42f..711c36e 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
@@ -542,7 +542,7 @@
                     int intValue = int.Parse(editText.Text.Trim());
                     if (intValue <minValue || intValue > maxValue)
                     {
-                        errorId_IsNullOrEmpty = Language.StringByID(StringId.setvalue).Replace("1",minValue.ToString()).Replace("000",maxValue.ToString());
+                        errorId_IsNullOrEmpty = Language.StringByID(StringId.setvalue).Replace("1",minValue.ToString()).Replace("100",maxValue.ToString());
                     }
                 }
                 if (errorId_IsNullOrEmpty!="")
@@ -555,8 +555,8 @@
                     btnConfirm.Gravity = Gravity.BottomRight;
 
                     btnTip.X = Application.GetRealWidth(53);
-                    btnTip.Y = editBjView.Bottom + Application.GetRealHeight(12);
-                    btnTip.Width = Application.GetRealWidth(157);//200
+                    btnTip.Y = editBjView.Bottom + Application.GetRealHeight(6);
+                    btnTip.Width = Application.GetRealWidth(187);//200
                     btnTip.Height = Application.GetRealHeight(24);//17
                     btnTip.Text = errorId_IsNullOrEmpty;
                     btnTip.TextColor = CSS_Color.textRedColor;
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
index 11bd0d2..f4f0ede 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
@@ -110,6 +110,12 @@
                 if(brand.productPlatform == "HaiLin")//瀛愭櫞闇�瑕侀殣钘忚繖涓叆鍙o紝鐢辫皟璇曡蒋浠朵笂浼犳暟鎹� 2023-03-09 17:20:33
                 {
                     continue;
+                }else if(brand.productPlatform == "TUYA") {
+                    if(DB_ResidenceData.Instance.CurrentRegion.regionUrl != "https://test-gz.hdlcontrol.com" &&
+                       DB_ResidenceData.Instance.CurrentRegion.regionUrl != "https://china-gateway.hdlcontrol.com")
+                    {
+                        continue;
+                    }
                 }
                 var row = new RowLayout()
                 {
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
index 26b7215..2866fb5 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -368,6 +368,7 @@
         {
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
+
                 Action<string> callBack = (str) =>
                 {
                     if (string.IsNullOrEmpty(str))
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
index ddbe6d8..a692dae 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
@@ -512,14 +512,23 @@
                         }
                         else
                         {
-                            //鎾ら槻
-                            if (bodyView.InDefenseMode.sid == updataTemp.sid)
+                            try
                             {
-                                bodyView.InDefenseMode.status = updataTemp.status;
-                                foreach (var tempView in bodyView.armDiyViewList)
+                                //鎾ら槻
+                                if (bodyView.InDefenseMode != null)
                                 {
-                                    tempView.LightingView(false);
+                                    if (bodyView.InDefenseMode.sid == updataTemp.sid)
+                                    {
+                                        bodyView.InDefenseMode.status = updataTemp.status;
+                                        foreach (var tempView in bodyView.armDiyViewList)
+                                        {
+                                            tempView.LightingView(false);
+                                        }
+                                    }
                                 }
+                            }catch(Exception ex)
+                            {
+                                MainPage.Log($"鎾ら槻寮傚父:{ex.Message}");
                             }
                         }
 
@@ -546,7 +555,10 @@
                             bodyView.btnArmTipIcon.IsSelected = true; 
                             bodyView.btnDefenseName.Text = bodyView.InDefenseMode.name; 
                         }
-                        bodyView.InitAlarmStatus(bodyView.InDefenseMode.alarm);
+                        if (bodyView.InDefenseMode != null)
+                        {
+                            bodyView.InitAlarmStatus(bodyView.InDefenseMode.alarm);
+                        }
                     }
                 }
                 catch (Exception ex)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SenesorMegahealthPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SenesorMegahealthPage.cs
index 1c21b73..6f57788 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SenesorMegahealthPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SenesorMegahealthPage.cs
@@ -244,7 +244,7 @@
                     else if (temp.state == "uninhabited")//鏃犱汉
                     {
                         btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png";
-                        btnSuctionView.TextID = StringId.SensorNormalState;
+                        btnSuctionView.TextID = StringId.wuren;
                         btnSuctionView.IsSelected = false;
                     }
                     else//鏈変汉
@@ -271,7 +271,7 @@
                         else
                         {
                             btnIcon.IsSelected = false;
-                            btnSuctionView.TextID = StringId.SensorNormalState;
+                            btnSuctionView.TextID = StringId.wuren;
                             btnSuctionView.IsSelected = false;
                         }
                         //澧炲姞瀹為獙瀹ゆā寮忓弽棣�
@@ -285,7 +285,7 @@
                                     btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png";
                                     btnIcon.IsSelected = true;
                                     btnIcon.IsSelected = false;
-                                    btnSuctionView.TextID = StringId.SensorNormalState;
+                                    btnSuctionView.TextID = StringId.wuren;
                                     btnSuctionView.IsSelected = false;
                                     break;
                                 case "1":
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SensorPirPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SensorPirPage.cs
index 546e051..9655256 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SensorPirPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/SensorPirPage.cs
@@ -129,7 +129,7 @@
                     else
                     {
                         btnIcon.IsSelected = false;
-                        btnSuctionView.TextID = StringId.SensorNormalState;
+                        btnSuctionView.TextID = StringId.wuren;
                         btnSuctionView.IsSelected = false;
                     }
                 }
@@ -147,7 +147,7 @@
                     else
                     {
                         btnIcon.IsSelected = false;
-                        btnSuctionView.TextID = StringId.SensorNormalState;
+                        btnSuctionView.TextID = StringId.wuren;
                         btnSuctionView.IsSelected = false;
                     }
                 }
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
index e6f5b27..0309210 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
@@ -91,7 +91,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                 TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = MainPage.cityInfo.location,
+                Text = MainPage.cityInfo.city,
             };
             topWeatherView.AddChidren(btnLocationText);
 
@@ -903,6 +903,7 @@
                             }
                         }
 
+                        Console.WriteLine(updateTemp.spk);
                         for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++)
                         {
                             var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId;
@@ -921,9 +922,9 @@
                                         if (btn.Tag != null)
                                         {
                                             FunctionAttributes attr = updateTemp.GetAttribute(FunctionAttributeKey.Value);
-                                            if(attr == null)
+                                            if (attr == null)
                                             {
-                                                switch(updateTemp.spk)
+                                                switch (updateTemp.spk)
                                                 {
                                                     case SPK.SensorCO2:
                                                         attr = updateTemp.GetAttribute(FunctionAttributeKey.Co2);
@@ -943,6 +944,10 @@
                                                     case SPK.SensorHumidity:
                                                         attr = updateTemp.GetAttribute(FunctionAttributeKey.Humidity);
                                                         break;
+                                                    case SPK.SensorLight:
+                                                        attr = updateTemp.GetAttribute(FunctionAttributeKey.Illuminance);
+                                                        break;
+
                                                 }
                                             }
 
@@ -953,8 +958,11 @@
                                             }
                                             else if (tag == "SensorLevel")
                                             {
-                                                (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
-                                                (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+                                                if (updateTemp.spk != SPK.SensorLight)
+                                                {
+                                                    (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+                                                    (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+                                                }
                                             }
                                         }
                                     }
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulInfoPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulInfoPage.cs
index fe9d187..ea2dd01 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulInfoPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorfulInfoPage.cs
@@ -292,18 +292,18 @@
                         {
                             LoadEditDialog(() =>
                             {
-                                if(hour == 0 && minute == 0 && second == 0)
+                                if( second == 0)
                                 {
                                     new PublicAssmebly().TipMsg(StringId.Tip, StringId.TimeInvalid);
                                     return;
                                 }
                                 //btnWorkHours.Text = hour + "鏃�";
-                                btnWorkHours.Text = minute + "鍒�";
-                                btnWorkHours.Text += second + "绉�";
+                                btnWorkHours.Text = second/60 + "鍒�";
+                                btnWorkHours.Text += second%60 + "绉�";
                                 new System.Threading.Thread(() => {
                                     var d = new Dictionary<string, string>();
-                                    function.SetAttrState(FunctionAttributeKey.ColorfulTime, (hour * 360 + minute * 60 + second).ToString());
-                                    d.Add(FunctionAttributeKey.ColorfulTime, (hour * 360 + minute * 60 + second).ToString());
+                                    function.SetAttrState(FunctionAttributeKey.ColorfulTime, ( minute * 60 + second).ToString());
+                                    d.Add(FunctionAttributeKey.ColorfulTime, ( minute * 60 + second).ToString());
                                     Control.Ins.SendWriteCommand(function, d);
                                 }) { IsBackground = true }.Start();
                             });
@@ -402,7 +402,7 @@
             {
                 item1.Add(i+Language.StringByID(StringId.h));
             }
-            for (int i = 1; i <= 119; i += 1)
+            for (int i = 1; i <= 120; i += 1)
             {
                 item2.Add(i + Language.StringByID(StringId.m));
                 item3.Add(i + Language.StringByID(StringId.s));
@@ -421,9 +421,7 @@
                 dialog.Close();
             };
             uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
-                hour = int1;
-                minute = int2;
-                second = int3;
+                second = int1+1;
             };
             btnConfrim.MouseUpEventHandler = (sender, e) => {
                 dialog.Close();
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
index c48a8d5..96465f1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
@@ -213,10 +213,22 @@
                 Y = Application.GetRealHeight(466),
                 Width = Application.GetMinRealAverage(32),
                 Height = Application.GetMinRealAverage(32),
-                //UnSelectedImagePath = "Public/PowerClose.png",
-                UnSelectedImagePath = "Public/PowerOpen.png",
+                UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on.png",
             };
             controlView.AddChidren(btnOn);
+            var btnOnText = new Button()
+            {
+                X = Application.GetRealWidth(100-9),
+                Y = Application.GetRealHeight(500),
+                Width = Application.GetMinRealAverage(50),
+                Height = Application.GetMinRealAverage(32),
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextAlignment = TextAlignment.Center,
+                TextID = StringId.Open,
+            };
+            controlView.AddChidren(btnOnText);
+
 
             var btnOff = new Button()
             {
@@ -224,10 +236,24 @@
                 Y = Application.GetRealHeight(466),
                 Width = Application.GetMinRealAverage(32),
                 Height = Application.GetMinRealAverage(32),
-                UnSelectedImagePath = "Public/PowerClose.png",
-                //UnSelectedImagePath = "Public/PowerOpen.png",
+                UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off.png",
             };
             controlView.AddChidren(btnOff);
+            var btnOffText = new Button()
+            {
+                X = Application.GetRealWidth(180 - 9),
+                Y = Application.GetRealHeight(500),
+                Width = Application.GetMinRealAverage(50),
+                Height = Application.GetMinRealAverage(32),
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextAlignment = TextAlignment.Center,
+                TextID = StringId.Close,
+            };
+            controlView.AddChidren(btnOffText);
+
+
+
             btnOn.MouseUpEventHandler = (sender, e) =>
             {
                 var d = new Dictionary<string, string>();
@@ -241,6 +267,19 @@
                 d.Add(FunctionAttributeKey.OnOff, "off");
                 function.Control(d);
             };
+            btnOnText.MouseUpEventHandler = (sender, e) =>
+            {
+                var d = new Dictionary<string, string>();
+                d.Add(FunctionAttributeKey.OnOff, "on");
+                function.Control(d);
+            };
+
+            btnOffText.MouseUpEventHandler = (sender, e) =>
+            {
+                var d = new Dictionary<string, string>();
+                d.Add(FunctionAttributeKey.OnOff, "off");
+                function.Control(d);
+            };
 
 
             if (hadRGB)

--
Gitblit v1.8.0