From 7cfcdb7a90f59bf9001c948e166fd9af09752fe1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 24 五月 2022 17:15:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/release0123' into wjc
---
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png | 0
HDL-ON_Android/Properties/AndroidManifest.xml | 4
HDL-ON_Android/Assets/Language.ini | 21
HDL-ON_iOS/HDL-ON_iOS.csproj | 5
HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png | 0
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs | 229
HDL_ON/DAL/Mqtt/MqttClient.cs | 14
HDL_ON/HDL_ON.projitems | 7
HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs | 174 +
HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png | 0
HDL_ON/Entity/Function/Sensor.cs | 261 +
HDL-ON_Android/HDL-ON_Android.csproj | 5
HDL-ON_iOS/Info.plist | 4
HDL_ON/DAL/Server/NewApiRes.cs | 2
HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs | 452 +++
HDL_ON/UI/UI1-Login/LoginPage.cs | 2
SiriIntents/Server/HttpUtil.cs | 4
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs | 310 ++
HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs | 38
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs | 752 ++--
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 75
HDL-ON_Android/Resources/values-zh/strings.xml | 2
HDL_ON/Common/ImageUtlis.cs | 41
HDL_ON/Entity/Function/Function.cs | 104
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 176 +
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs | 1
HDL_ON/DAL/Server/HttpUtil.cs | 4
HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs | 540 +++
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs | 4
HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs | 142 +
HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png | 0
HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs | 1
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 9
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 58
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs | 4
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 36
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs | 7
HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs | 6
HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs | 10
HDL-ON_Android/SplashActivity.cs | 14
HDL-ON_iOS/Resources/Language.ini | 1160 ++++++++
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs | 1
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png | 0
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs | 1876 ++++++------
HDL_ON/DAL/DriverLayer/Control.cs | 82
HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs | 231 +
HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png | 0
HDL_APP_Project.sln | 5
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs | 4
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs | 6
HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs | 5
HDL_ON/Entity/FunctionList.cs | 19
HDL_ON/DAL/Server/NewAPI.cs | 15
HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs | 1110 ++++++++
HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png | 0
HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png | 0
HDL_ON/Common/R.cs | 17
HDL_ON/DAL/Server/HttpServerRequest.cs | 19
HDL-ON_Android/Other/JPush/JPushReceiver.cs | 135
59 files changed, 6,550 insertions(+), 1,653 deletions(-)
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 9d62f57..3c45ca3 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -525,6 +525,11 @@
537=Humidity statistics
538=Uint
539=Smart panel
+540=In Alarm
+541=Monitoring
+542=Wandering alarm
+543=Get more
+
1000=Room Humidity
1001=V-chip
@@ -1679,6 +1684,10 @@
537=婀垮害缁熻鍥�
538=鍗曚綅
539=鏅鸿兘闈㈡澘
+540=鎶ヨ涓�
+541=鐩戞帶涓�
+542=寰樺緤鎶ヨ
+543=鑾峰彇鏇村
1000=瀹ゅ唴婀垮害
1001=绔ラ攣
@@ -2811,7 +2820,10 @@
537=Humidity statistics
538=Uint
539=Smart panel
-
+540=袧芯褉屑邪谢褜薪褘泄
+541=Monitoring
+542=Wandering alarm
+543=Get more
1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈
@@ -3960,11 +3972,14 @@
533=Statistical Chart
534=Data
535=Dew point temperature
-536=Temperature statistics
+536=Temperature statistics
537=Humidity statistics
538=Uint
539=Smart panel
-
+540=En alarma
+541=Monitoring
+542=Wandering alarm
+543=Get more
1000=Humedad de ambiente
1001=V-chip
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png
new file mode 100644
index 0000000..56ba0c5
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/screenpanel.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png
new file mode 100644
index 0000000..d6482d3
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelEnviBg.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png
new file mode 100644
index 0000000..72ece8b
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png
Binary files differ
diff --git a/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png
new file mode 100644
index 0000000..a55c35e
--- /dev/null
+++ b/HDL-ON_Android/Assets/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png
Binary files differ
diff --git a/HDL-ON_Android/HDL-ON_Android.csproj b/HDL-ON_Android/HDL-ON_Android.csproj
index cb54ebd..d236f95 100644
--- a/HDL-ON_Android/HDL-ON_Android.csproj
+++ b/HDL-ON_Android/HDL-ON_Android.csproj
@@ -239,6 +239,10 @@
<AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorhelp.png" />
<AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_blue.png" />
<AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_white.png" />
+ <AndroidAsset Include="Assets\Phone\FunctionIcon\Panel\PanelHelpAlarmBgIcon.png" />
+ <AndroidAsset Include="Assets\Phone\FunctionIcon\Panel\PanelHelpNormalBgIcon.png" />
+ <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\screenpanel.png" />
+ <AndroidAsset Include="Assets\Phone\FunctionIcon\Panel\PanelEnviBg.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\colors.xml" />
@@ -1446,6 +1450,7 @@
<Folder Include="libs\arm64-v8a\" />
<Folder Include="Zxing\" />
<Folder Include="Assets\Phone\FunctionIcon\CAC\" />
+ <Folder Include="Assets\Phone\FunctionIcon\Panel\" />
</ItemGroup>
<Import Project="..\HDL_ON\HDL_ON.projitems" Label="Shared" Condition="Exists('..\HDL_ON\HDL_ON.projitems')" />
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
diff --git a/HDL-ON_Android/Other/JPush/JPushReceiver.cs b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
index 4566b62..3b0cf2b 100644
--- a/HDL-ON_Android/Other/JPush/JPushReceiver.cs
+++ b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
@@ -43,6 +43,8 @@
OpenNotification(context, notificationMessage);
}
+ static int msgId = 0;
+
/// <summary>
/// 鏀跺埌閫氱煡鍥炶皟
/// </summary>
@@ -50,46 +52,58 @@
/// <param name="p1"></param>
public override void OnNotifyMessageArrived(Context context, NotificationMessage notificationMessage)
{
- base.OnNotifyMessageArrived(context, notificationMessage);
+ try
+ {
- var pushMes = new JPushMessageInfo()
- {
- Title = notificationMessage.NotificationTitle,
- Content = notificationMessage.NotificationContent,
- Extras = notificationMessage.NotificationExtras
- };
-
- var jpushExpandData = GetJPushExpandData(pushMes);
- if (jpushExpandData != null && jpushExpandData.messageType != null)
- {
- pushMes.messageType = jpushExpandData.messageType;
- pushMes.expantContent = jpushExpandData.expantContent;//spk
- pushMes.HomeId = jpushExpandData.homeId;
- Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
- }
-
- Utlis.WriteLine("PushMes title : " + pushMes.Title);
- Utlis.WriteLine("PushMes message : " + pushMes.Content);
- Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
- Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
-
- //UserInfo.Current.PushMesTitle = pushMes.Title;
- //UserInfo.Current.PushMesMessage = pushMes.Content;
- //UserInfo.Current.PushMesExtras = pushMes.Extras;
- //UserInfo.Current.pushMesMessageType = pushMes.messageType;
- //UserInfo.Current.pushMesExpantContent = pushMes.expantContent;
- //UserInfo.Current.PushMesHomeId = pushMes.HomeId;
- UserInfo.Current.pushMessageInfo = pushMes;
- UserInfo.Current.inCall = DateTime.Now;
-
- Shared.Application.RunOnMainThread(() =>
- {
- HDLCommon.Current.AdjustPushMessage(pushMes);
- });
- if (!MainPage.IsEnterBackground)
- {
NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService);
- nMgr.CancelAll();
+ if (msgId != 0)
+ nMgr.Cancel(msgId);
+ msgId = notificationMessage.NotificationId;
+ base.OnNotifyMessageArrived(context, notificationMessage); Console.WriteLine("123456789ghjsdjfasdfk");
+
+ var pushMes = new JPushMessageInfo()
+ {
+ Title = notificationMessage.NotificationTitle,
+ Content = notificationMessage.NotificationContent,
+ Extras = notificationMessage.NotificationExtras
+ };
+
+ var jpushExpandData = GetJPushExpandData(pushMes);
+ if (jpushExpandData != null && jpushExpandData.messageType != null)
+ {
+ pushMes.messageType = jpushExpandData.messageType;
+ pushMes.expantContent = jpushExpandData.expantContent;//spk
+ pushMes.HomeId = jpushExpandData.homeId;
+ Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
+ }
+
+ Utlis.WriteLine("PushMes title : " + pushMes.Title);
+ Utlis.WriteLine("PushMes message : " + pushMes.Content);
+ Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
+ Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
+
+ //UserInfo.Current.PushMesTitle = pushMes.Title;
+ //UserInfo.Current.PushMesMessage = pushMes.Content;
+ //UserInfo.Current.PushMesExtras = pushMes.Extras;
+ //UserInfo.Current.pushMesMessageType = pushMes.messageType;
+ //UserInfo.Current.pushMesExpantContent = pushMes.expantContent;
+ //UserInfo.Current.PushMesHomeId = pushMes.HomeId;
+ UserInfo.Current.pushMessageInfo = pushMes;
+ if (!string.IsNullOrEmpty(pushMes.spk))//鑷爺鍙瀵硅闇�瑕佽褰曟椂闂村弽鍛�
+ UserInfo.Current.inCall = DateTime.Now;
+
+ if (!MainPage.IsEnterBackground)
+ {
+ //NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService);
+ //nMgr.CancelAll();
+ Shared.Application.RunOnMainThread(() =>
+ {
+ HDLCommon.Current.AdjustPushMessage(pushMes);
+ });
+ }
+ }
+ catch (Exception wexx) {
+ Console.WriteLine("safsdf"+wexx.Message);
}
}
@@ -199,25 +213,30 @@
i.SetFlags(ActivityFlags.NewTask);
context.StartActivity(i);
//瑙f瀽msg
- AdjustPushMessage(pushMes);
-
- //Shared.Application.RunOnMainThread(() =>
- //{
- // if (Shared.Application.Activity == null)
- // {
- // var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
- // tempIntent.SetFlags(ActivityFlags.BroughtToFront);
- // context.StartActivity(tempIntent);
-
- // HDLCommon.Current.AdjustPushMessage(pushMes);
- // }
- // else
- // {
-
- // (Shared.Application.Activity as BaseActivity).MoveToFront();
- // HDLCommon.Current.AdjustPushMessage(pushMes);
- // }
- //});
+ AdjustPushMessage(pushMes);
+
+ //Shared.Application.RunOnMainThread(() =>
+ //{
+ // if (Shared.Application.Activity == null)
+ // {
+ // var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+ // tempIntent.SetFlags(ActivityFlags.BroughtToFront);
+ // context.StartActivity(tempIntent);
+
+ // HDLCommon.Current.AdjustPushMessage(pushMes);
+ // }
+ // else
+ // {
+
+ // (Shared.Application.Activity as BaseActivity).MoveToFront();
+ // HDLCommon.Current.AdjustPushMessage(pushMes);
+ // }
+ //});
+ if (!MainPage.IsEnterBackground)
+ {
+ NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService);
+ nMgr.CancelAll();
+ }
}
catch
{
@@ -238,7 +257,7 @@
{
while (MainPage.BasePageView == null)
{
- System.Threading.Thread.Sleep(300);
+ System.Threading.Thread.Sleep(300);
}
Shared.Application.RunOnMainThread(() =>
{
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index cf1b3bd..eabdc56 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,6 +1,6 @@
锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202204081" android:versionName="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools">
- <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="30" />
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202205241">
+ <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
<!--鍙嬬洘-->
<!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
<!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>-->
diff --git a/HDL-ON_Android/Resources/values-zh/strings.xml b/HDL-ON_Android/Resources/values-zh/strings.xml
index 8bba32d..52267b1 100644
--- a/HDL-ON_Android/Resources/values-zh/strings.xml
+++ b/HDL-ON_Android/Resources/values-zh/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
- <string name="app_name">ON_Plus</string>
+ <string name="app_name">On_Pro</string>
<string name="action_settings">璁剧疆</string>
<string name="video_screenshot">鎴浘</string>
<string name="video_unlock">寮�閿�</string>
diff --git a/HDL-ON_Android/SplashActivity.cs b/HDL-ON_Android/SplashActivity.cs
index e5c0d5a..ac78c22 100644
--- a/HDL-ON_Android/SplashActivity.cs
+++ b/HDL-ON_Android/SplashActivity.cs
@@ -84,7 +84,7 @@
JPushInterface.Init(this);
- BaseActivity.OnCreateActoin += (activity, application) =>
+ BaseActivity.OnCreateActoin = (activity, application) =>
{
//鑾峰彇鏋佸厜鎺ㄩ�両D
GetJPushRegistrationID(activity);
@@ -133,7 +133,7 @@
}
};
- BaseActivity.OnCreateActoin += (activity, application) =>
+ BaseActivity.OnCreateActoin = (activity, application) =>
{
Language.CurrentLanguage = "Chinese";
Locale locale1 = Locale.Default;
@@ -173,16 +173,16 @@
HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground);
};
};
- BaseActivity.RefreshUIAction += (activity) =>
+ BaseActivity.RefreshUIAction = (activity) =>
{
MainPage.Show();
checkSomeInfo();
};
- BaseActivity.OnResumeAction += (activity) =>
+ BaseActivity.OnResumeAction = (activity) =>
{
checkSomeInfo();
};
- BaseActivity.OnDestroyAction += (activity) =>
+ BaseActivity.OnDestroyAction = (activity) =>
{
Console.WriteLine("OnDestroyAction");
//BusSocket.Stop();
@@ -229,7 +229,7 @@
{
//淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
var tokenID = JPushInterface.GetRegistrationID(activity);
- Console.WriteLine("RegistrationID: " + tokenID);
+ Console.WriteLine("RegistrationID1: " + tokenID);
if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
{
OnAppConfig.Instance.PushDeviceToken = tokenID;
@@ -250,7 +250,7 @@
break;
}
}
- Console.WriteLine("RegistrationID: " + tokenID);
+ Console.WriteLine("RegistrationID2: " + tokenID);
if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
{
OnAppConfig.Instance.PushDeviceToken = tokenID;
diff --git a/HDL-ON_iOS/HDL-ON_iOS.csproj b/HDL-ON_iOS/HDL-ON_iOS.csproj
index e63fc9c..8787622 100644
--- a/HDL-ON_iOS/HDL-ON_iOS.csproj
+++ b/HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -486,6 +486,7 @@
<Folder Include="Resources\Phone\FunctionIcon\Electrical\AirSwitch\" />
<Folder Include="Base.lproj\" />
<Folder Include="Resources\Phone\FunctionIcon\CAC\" />
+ <Folder Include="Resources\Phone\FunctionIcon\Panel\" />
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="LaunchScreen.storyboard" />
@@ -1399,6 +1400,10 @@
<BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorhelp.png" />
<BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_blue.png" />
<BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorhelp_white.png" />
+ <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelHelpAlarmBgIcon.png" />
+ <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelHelpNormalBgIcon.png" />
+ <BundleResource Include="Resources\Phone\FunctionIcon\Icon\screenpanel.png" />
+ <BundleResource Include="Resources\Phone\FunctionIcon\Panel\PanelEnviBg.png" />
</ItemGroup>
<ItemGroup>
<ITunesArtwork Include="iTunesArtwork" />
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index 5e9bc21..bdc5402 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -100,9 +100,9 @@
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>CFBundleShortVersionString</key>
- <string>1.5.502204081</string>
+ <string>1.5.502205201</string>
<key>CFBundleVersion</key>
- <string>1.5.504081</string>
+ <string>1.5.505201</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 1ca107b..78daf8e 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -524,6 +524,11 @@
536=Temperature statistics
537=Humidity statistics
538=Uint
+539=Smart panel
+540=In Alarm
+541=Monitoring
+542=Wandering alarm
+543=Get more
1000=Room Humidity
@@ -1040,6 +1045,8 @@
7156=Distress
7157=whether to unlock
7158=is
+
+
@@ -1675,6 +1682,11 @@
536=娓╁害缁熻鍥�
537=婀垮害缁熻鍥�
538=鍗曚綅
+539=鏅鸿兘闈㈡澘
+540=鎶ヨ涓�
+541=鐩戞帶涓�
+542=寰樺緤鎶ヨ
+543=鑾峰彇鏇村
1000=瀹ゅ唴婀垮害
1001=绔ラ攣
@@ -2173,7 +2185,6 @@
7156=姹傛晳
7157=鏄惁寮�閿佹椂
7158=鏄�
-
@@ -2807,7 +2818,11 @@
536=Temperature statistics
537=Humidity statistics
538=Uint
-
+539=Smart panel
+540=袧芯褉屑邪谢褜薪褘泄
+541=Monitoring
+542=Wandering alarm
+543=Get more
1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈
@@ -3432,3 +3447,1144 @@
+[Spanish]
+1=Ingresar
+2=N煤mero de tel茅fono
+3=Luz
+4=Correo
+5=Por favor ingrese numero de cuenta
+6=Contrase帽a
+7=Olvidar
+8=Registrarse
+9=Iniciar sesi贸n
+10=Espere鈥�
+11=Cerrar
+12=C贸digo de verificaci贸n
+13=Contrase帽a de acceso
+14=Registrarse
+15=N煤mero de tel茅fono
+16=Ingrese la contrase帽a
+17=Ingrese la contrase帽a nuevamente
+18=C贸digo de verificaci贸n
+19=N煤mero de tel茅fono incorrecto, ingrese nuevamente
+20=L a contrase帽a y la confirmaci贸n no coinciden. Ingrese la contrase帽a nuevamente
+21=El formato de la contrase帽a no cumple con los requisitos. Ingrese la contrase帽a nuevamente
+22=El usuario ya existe. Puede ingresar directamete
+23=C贸digo de verificaci贸n incorrecto, vuelva a ingresarlo.
+24=N煤mero de cuenta incorrrecta, por favor ingrese el correo correcto
+25=Correo
+26=Residencia
+27=Miembro
+28=Desarmar
+29=Armar
+30=Copia de seguridad
+31=Funci贸n auxiliar
+32=A帽adir funciones
+33=Modo noche
+34=Configuraci贸n general
+35=Soporte
+36=Casa
+37=Categor铆a
+38=Inteligente
+39=Individual
+40=Inicio de sesi贸n fallido, n煤mero de cuenta o contrase帽a incorrectos
+41=Error al enviar el codigo de verificaci贸n
+42=Error de red
+43=Error en el registo, int茅ntelo de nuevo
+44=Confirmar reinicio
+45=El numero de cuenta no existe, por favor aseg煤rese de estar registrado
+46=Inicio de sesion inv谩lido, iniciar sesion nuevamente
+47=Centro Personal
+48=Nombre
+49=C贸digo QR
+50=Tel茅fono
+51=Correo
+52=No enlazado
+53=Autorizaci贸n de terceros
+54=Cambiar contrase帽a
+55=Configuraci贸n de desbloqueo
+56=Establecer contrase帽a, gesto, huella digital o identificaci贸n facil para proteger su provacidad
+57=Salir
+58=Habitaci贸n
+59=Equipo
+60=Funci贸n
+61=Brillo
+62=Configuraci贸n
+63=Locaci贸n
+64=Compartir
+65=A帽adir acceso directo al escritorio
+66=Cambiar nombre
+67=Cancelar
+68=Confirmar
+69=Todo
+70=Cortina
+71=Nombre
+72=Address
+73=Gesti贸n de plantas
+74=Gesti贸n de habitaciones
+75=Migraci贸n de administrador
+76=Migraci贸n de privilegios
+77=Priviligio de depuraci贸n
+78=El administrador migra a otro usuario
+79=Toda los datos de la residencia migran al nuevo usuario
+80=Permitir que el personal visite su casa de forma remota
+81=Piso
+82=A帽adir piso
+83=Cambiar nombre de piso
+84=Error al a帽adir, el piso ya existe
+85=Escena
+86=Borrar
+87=Inmediata
+88=Eliminar el piso o no?
+89=A帽adir habitaci贸n
+90=Cmabiar la informacion de la habitaci贸n
+91=Informaci贸n de la habitanci贸n
+92=Nombre
+93=Piso
+94=Gesti贸n funcionamiento
+95=Guardar
+96=Eliminar la habitaci贸n
+97=Galeria por defecto
+98=Camara
+99=Seleccionar de la galeria
+100=No asignado
+101=Asignado
+102=No asignado
+103=Eliminar la habitaci贸n o no?
+104=Tiempo de transici贸n
+105=Temperatura interna
+106=AC
+107=Videoportero
+108=Sensor
+109=Monitor de seguridad
+110=Panel Inteligente
+111=Musica
+112=Aire fresco
+113=Ambiental
+114=Monitoreo de energ铆a
+115=Electrodom茅sticos
+116=Bloqueo inteligente
+117=Calefacci贸n
+118=Abrir
+119=Refrigeraci贸n
+120=Calefacci贸n
+121=Deshumidificar
+122=Auto
+123=Suministro de aire
+124=Alto
+125=Medio
+126=Bajo
+127=Modo
+128=Velocidad del ventilador
+129=Estas seguro de apagar todas las funciones de la habitaci贸n?
+130=Abierta
+131=A帽adido a favoritos
+132=Felicitaciones! Registro exitoso
+133=Inicio de sesion autom谩tico pronto鈥�.
+134=El numero de no esta registrado, por favor registrese e ingrese nuevamente
+135=Por favor, obtener codigo de verificaci贸n
+136=La contrase帽a ha sido cambiada
+137=La direccion rsidencial no puede estar en blanco
+138=El nombre de la residencia no puede estar en blanco
+139=El nombre de la habitaci贸n no puede estar en blanco
+140=El nombre del piso no puede estar en blanco
+141=No se pudo revisar, el piso ya existe
+142=El nombre del equipo no puede estar en blanco
+143=El nombre del usuario no puede estar en blanco
+144=Nombre de usuario
+145=Seleccione la p谩gina para bloquear
+146=Puede seleccionar varias paginas que le gustaria mantener
+147=Error en codigo de verificaci贸n
+148=No protegido
+149=Cuando empieza
+150=Armar/Desarmar
+151=Desbloquear remotamente
+152=No se necesita contrase帽a/gesto al iniciar el software
+153=Iniciar sesi贸n 5 minutos despues de salir de la p谩gina, se requiere el m茅todo de desbloqueo correspondiente.
+154=Centro de miembros - utiliza para debloquear la funci贸n de seguridad como armar/desarmar
+155=Usado para desbloquear la cerradura inteligente
+156=Configuraci贸n de desbloqueo
+157=Solo valido para host
+158=Desbloquear con contrase帽a
+159=Desbloquear con gesto
+160=Desbloquear con huella
+161=Desbloquear con identificaci贸n facial
+162=Configuraci贸n de contrase帽a num茅rica
+163=Configuraci贸n exitosa
+164=Configuraci贸n de gestos
+165=Por favor dibuja tu patron de desbloqueo
+166=Requiere al menos una conexi贸n de 4 puntos, dibuje nuevamente
+167=El patron y la corfirmacion que dibujaste no coincide, dibuje nuevamente
+168=Por favor dibuje su patr贸n nuevamente
+169=Desbloquear con huella o no?
+170=Desbloquar con identificacion facial o no?
+171=Verificar la contrase帽a num茅rica
+172=Verificar el gesto
+173=Por favor ingrese el gesto original
+174=Por favor ingrese la contrase帽a num茅rica original
+175=Verificaci贸n fallida, error en la contrase帽a
+176=Cambiar la contrase帽a num茅rica
+177=Cambiar el gesto
+178=Cerrar la configuraci贸n de desbloqueo o no?
+179=Por favor verifique la huella
+180=Verificaci贸n fallida, error en el gesto
+181=General
+182=Dia
+183=Noche
+184=Abandonar
+185=Por favor enlace el piso
+186=Ajuste de la velocidad del ventilador
+187=Ventilador
+188=Enchufe
+189=Nivel
+190=Chl
+191=Vol
+192=TV
+193=La habitanci贸n existe, error al cambiar
+194=Medio Ambiente
+195=Contaminaci贸n fuerte
+196=Contaminaci贸n leve
+197=Bueno
+198=Excelente
+199=Frio helado
+200=Frio
+201=Frio
+202=Confort
+203=Tibio
+204=Caliente
+205=Extremadamente caliente
+206=Hasta el estandar
+207=Contaminaci贸n leve
+208=Contaminaci贸n media
+209=Contaminaci贸n fuerte
+210=Fresco
+211=Turbidez
+212=Hipoxia
+213=Hipoxia severa
+214=H煤medo
+215=H煤medo
+216=Seco
+217=Temperatura
+218=Humedad
+219=Rango
+220=Nivel
+221=Valor de color
+222=PM1.0
+223=PM2.5
+224=Ruido
+225=Fuerza del viento
+226=CO2
+227=TV02
+228=Dia
+229=Semana
+230=Mes
+231=Otra regi贸n
+232=Administraci贸n de miembros
+233=Apodo
+234=Autoridad Administrativa
+235=Crear una escena
+236=Apodo no puede quedar en blanco
+237=Editar apodo
+238=La regi贸n utilizada
+239=A帽adir miembro
+240=Por favor ingrese el n煤mero de cuenta del miembro
+
+241=Escanear codigo QR
+242=Confirmar la invitaci贸n
+243=Error en n煤mero de cuenta, por favor chequear
+244=Agregue correctamente al miembro
+245=Error de datos, por favor intente de nuevo
+246=Error al a帽adir, el numero de cuenta del miembro no esta registrada
+
+247=No puedes agregarte a ti mismo.
+248=El usuario no existe en esta residencia
+249=Se ha agregado el n煤mero de cuenta del miembro, por lo que no se puede volver a agregar.
+
+250=Error de operaci贸n
+251=Error al agregar, autoridad no valida
+252=Guardado correctamente
+253=Guardando鈥spere un momento.
+254=Adopo editado
+255=Eliminar este miembro
+256=Sin favoritos
+257=Introduzca el contenido
+258=Bienvenido al nuevo miembro
+259=Esta seguro de elimianr este miembro?
+260=Introduzca la contrase帽a de inicio de sesi贸n
+261=Cambio de residencia exitoso
+262=Seleccionar todo
+263=Compartir la selecci贸n funcional
+264=Confirmar uso compartido
+265=Compartir en
+266=Error de uso compartido funcional
+267=Uso compartido funcional exitoso
+268=Correo
+269=Cambiar el enlace
+270=Eliminar el enlace
+271=Correo
+272=Cambiar la direcci贸n de correo
+273=Cambiar el m茅todo de verificaci贸n
+274=El c贸digo de verificaci贸n ha sido enviado, por favor ingrese
+275=Reenviar
+276=Verificaci贸n correcta
+277=Correo
+278=Por favor ingrese el nuevo correo
+279=Enlazar correctamente su correo electr贸nico a su cuenta
+280=No vincular su correo electr贸nica a su cuenta
+281=Eliminar el enlace de correo electr贸nico
+282=Eliminaci贸n correcta de enlace
+283=N煤mero de telefono
+284=N煤mero de telefono
+285=N煤mero de telefono
+286=Vincular correctamente su numero de tel茅fono a su cuenta
+287=No puede vincular su numero de tel茅fono a su cuenta
+288=Cambiar el enlace
+289=Quitar el enlace
+290=No se puede obtener el historial
+291=Sin favoritos
+292=Acerca de ON+
+293=Miembro
+294=Administrador
+295=Cambiar la contrase帽a
+296=Antes de cambiar la contrase帽a iniciar sesion
+297=Por favor verifique ID
+298=Verificaci贸n telefonica
+299=Verificaci贸n de correo electronico
+300=No se ha enlazado a la direcci贸n de correo electronico, no puede verificar
+301=No se ha enlazado a un numero telefonico, no se puede verificar
+302=Proceder al enlace
+303=Eliminado correctamente el enlace a su numero de telefono
+304=El codigo de verificaci贸n se ha enviado a:
+305=Telefono
+306=Correo
+307=Recibi贸 nuevos datos, esta seguro de anularlos?
+308=Automatizaci贸n
+309=Crear una escena
+310=A帽adir escena
+311=Configuraci贸n basica
+312=Nombre
+313=Region
+314=Completo
+315=Vista completa de la residencia
+316=Sleccionar
+317=Ya a帽adido
+318=Conmutador
+319=Velocidad del ventilador
+320=Modo
+321=Encendido
+322=Apagado
+323=Escena
+324=Retardo de escena
+325=Configuraci贸n de retardo
+326=Retardo
+327=Capturar la escena
+328=Escena de pelicula
+329=General
+330=Modo autom谩tico
+331=Potencia calentamiento suelo
+332=Refrigeraci贸n suelo
+333=Potencia de refrigeraci贸n del suelo
+334=Ajustar el porcentaje
+335=Sin retardo
+336=No hay escena disponible. A帽ade uno!
+337=Editar la escena
+338=El nombre de la escena no puede estar en blanco
+339=El nombre de la escena ya existe, por favor revise
+340=El nombre de la habitaci贸n ya existe, por favor revise
+341=Eliminar esta escena o no?
+342=La puerta de enlace esta fuera de linea, falla de conexi贸n remota
+343=Error MAC, error de conexi贸n remota.
+344=Error de conexi贸n remota.
+345=Telefono
+346=Correo
+347=Ingrese el nuevo numero de telefono ceular
+348=Ya se ha utilizado el numero de telefono celular
+349=Ya se ha utilizado la direccion de correo electronico
+350=La direcci贸n de correo electr贸nico es la misma que la actual, sin necesidad de cambiar.
+351=El n煤mero de tel茅fono es la mismo que la actual, sin necesidad de cambiar.
+352=Asignaci贸n de piso
+353=Separar
+354=Cerrar
+355=Acerca de
+356=Numero de version
+357=Esta funcion no esta disponible!
+358=Telefono
+359=Correo
+360=Escena de panel
+361=No a帽adido
+362=Seleccionar todo
+363=No se puede comunicar con el servidor, no se puede editar la informaci贸n del dispositivo
+364=No se puede comunicar con el servidor, no se puede editar la informaci贸n de la habitaci贸n
+365=No se puede comunicar con el servidor, no se puede editar la informaci贸n de la escena
+366=No se puede comunicar con el servidor, no se puede eliminar la escena
+367=No se puede comunicar con el servidor, no se puede eliminar el piso
+368=Bienvenido a disfrutar de ON+
+369=A帽adir residencia
+370=Convi茅rtete en miembro de la familia
+371=No se puede utilizar la funcion, por favor verifique su conexi贸n
+372=No se puede crear una escena, por favro verifique su conexi贸n
+373=Error al agregar un piso
+374=Los datos residenciales se han eliminado, APP cambiar谩 autom谩ticamente a otra residencia.
+375=El gateway no esta conectado al servidor, no se puede crear la escena
+376=No se puede introducir un car谩cter especial
+377=Toda la residencia
+378=Tiempo de transici贸n
+379=Velocidad de transicion
+380=Esta funcion no esta disponible!
+381=Recargar
+400=Bienvenido a casa
+401=Codigo de barras no v谩lido, intentelo de nuevo
+402=Int茅ntelo de nuevo
+403=Temperatura de color
+404=Ajuste r谩pido
+405=Acogedor
+406=Reuni贸n
+407=Lectura
+408=A帽adir
+409=Marca de funci贸n
+410=No ha agregado ningun dispositov de pataforma en la actualidad
+411=Otros dispositivos de plataforma son compatibles con proveedores de serviciso externos
+412=A帽adir
+413=Controlador no activado
+414=Controlador activado
+415=Alguien
+416=Registro
+417=Fuga de agua
+418=En alarma
+419=Normal
+420=Seco caliente
+421=Secado al aire
+422=Desinfectar
+423=Iluminaci贸n
+424=Tiempo
+425=Tiempo seco caliente
+426=Tiempo de secado al aire
+427=Tiempo de desinfecci贸n
+428=Tiempo Ani贸n
+429=H
+430=Min
+431=Actualmente esta agregando cualquier dispositivos de plataforma a
+432=Otros dispositivos de plataforma son compatibles con proveedores de serviciso externos
+433=Valvula de agua
+434=Interruptor de tiempo
+435=Control remoto
+436=Dispositivos a帽adido
+437=Lista de dispositivos
+438=humedad:{0}% aire:viento {1}:{2}
+439=Tiempo real: {0} kw
+440=Siguiente paso
+441=Seleccione todas las 谩reas de estado de captura
+442=Generar escena
+443=Implementaci贸n personalizada
+444=Centro de seguridad
+445=Defensa de la casa
+446=Defensa en casa
+447=Defensa de vacaciones
+448=Implementaci贸n fija
+449=*Deshacer defensa no afecta
+450=Defensa contra desastres
+451=Defensa de 24 horas
+452=Alarma antirrobo
+453=Silenciar alarma
+454=Informaci贸n de implementaci贸n
+455=El nombre no puede estar en blanco
+456=Lienzo
+457=Consumo de energ铆a
+458=Fecha
+459=Consumo de energ铆a en tiempo real
+460=Consumo energ茅tico de este mes
+461=Exterior/Interior
+462=Aun no has a帽adido ningun dispositivo
+
+463=Introduzca el c贸digo SN del dispositivo
+464=Puede empezar a usar la onda milim茅trica Zhaoguan
+465=Eliminar dispositivo
+466=STB
+467=Proyector
+468=Alguien cay贸
+469=Alguien est谩 en
+
+470=Bajo protecci贸n
+471=Sensor de onda milim茅trica
+472=Exterior
+473=Columpio
+474=Oscilaci贸n hacia arriba y hacia abajo
+475=Gira a izquierda y derecha
+476=A帽adir residencia
+477=Columpio
+478=Patr贸n
+479=Velocidad
+480=Sensor ambiental
+481=Puede empezar a usar el sensor ambiental
+482=Sensor de gas
+483=Introduzca el c贸digo MAC del dispositivo
+484=Abierto
+485=Comprobar/Modificar
+486=Funci贸n de defensa/Estado de alarma
+487=Objetivo de alarma despues de la activaci贸n
+488=Paso de rostro
+489=Aplicar identificaci贸n facil a:
+490=Control de acceso a la comunidad
+491=Acerda de identificacion facil y privacidad
+492=Borrar datos
+493=Resetear identificaci贸n facial
+494=Establecer identificaci贸n facial
+495=Configuraci贸n paso de rostro
+496=No hay ningun estado de implementacion de tareas asociado
+497=Personalizado
+498=Implementaci贸n retrasada
+499=Agregar funci贸n de defensa
+500=Agregar destino de alarma
+501=Alarma de seguridad: se activa en {0}
+502=Borrar la alarma de seguridad?
+503=Exceso de estandar
+504=Bueno
+505=Excelente
+506=Indentificacion facil ingresada correctamente
+507=Ingreso identificaci贸n facil fallida
+508=Formaldeh铆do
+509=Introduzca el nombre de seguridad
+510=Seleccione el destino de implementaci贸n
+511=Atenuaci贸n combinada
+512=Mensajes no estan habilitados, vaya a configuraci贸n
+513=Introduzca el codigo de emparejamiento
+514=La informaci贸n de la ubicaci贸n del gateway no est谩 configurada
+515=Agregar seguridad
+516=Withdrawal
+------
+517=Instantaneous value
+518=Cumulative power consumption
+519=Voltage (V)
+520=Electric Current (A)
+521=Power (W)
+522=Refresh
+523=Delay alarm
+524=Bypass
+525=Enable
+526=Cancel account
+527=Homekit support notes
+528=Firmware update
+529=
+530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password.
+531=Password free unlocking within five minutes
+532=The device is offline and cannot be operated temporarily
+533=Statistical Chart
+534=Data
+535=Dew point temperature
+536=Temperature statistics
+537=Humidity statistics
+538=Uint
+539=Smart panel
+540=En alarma
+541=Monitoring
+542=Wandering alarm
+543=Get more
+
+1000=Humedad de ambiente
+1001=V-chip
+1002=Ani贸n
+1003=Estirilizaci贸n
+1004=Humidificar
+1005=Restablecimiento del elemento de filtro
+1006=Iluminaci贸n
+1007=Autom谩tico
+1008=Manual
+1009=Fuerte
+1010=Dormir
+1011=Tiempo
+1012=Velocidad del viento
+1013=Engranaje
+1014=Confirme si el elemento filtrante se ha restablecido y opere el equipo de acuerdo con el manual de instrucciones para que la vida 煤til del elemento filtrante se vuelva a cronometrar
+1015=Marcha baja
+1016=Engranaje medio
+1017=Marcha alta
+1018=Configuraci贸n de temportizaci贸n
+1019=Hora
+1020=Tiempo del elemento de filtro:
+1021=Filtro de aire
+1022=Velocidad actual del viento
+1023=Cancelar tiempo
+1024=Robot de barrido de pisos
+1025=Succi贸n
+1026=1掳 Marcha
+1027=2掳 Marcha
+1028=3掳 Marcha
+1029=Carga
+1030=Voz
+1031=Silenciar
+1032=Modo de limpieza
+1033=Gestion de consumibles
+1034=Historia
+1035=Autom谩tico
+1036=Aleatorio
+1037=Muro
+1038=Espiral
+1039=脕rea total limpia
+1040=Tiempo total de limpieza
+1041=Vida 煤til restante del cepillo lateral
+1042=Vida 煤til residual del cepillo de rodillos
+1043=Vida 煤til restante de la pantalla de filtro
+1044=Restablecer pincel de bordes
+1045=Restablecer cepillo de rollo
+1046=Restablecer pantalla
+1047=Confirmar para restablecer el pincel de bordes?
+1048=Confirmar para restablecer el cepillo de rollo?
+1049=Confirmar para restablecer la pantalla?
+1050=Agregar dispositivo
+1051=Mini control remoto inteligente
+1052=Agregar control remoto por infrarrojos
+1053=Presione el bot贸n del control remoto infrarrojo{0} durante 3 segundos y la luz indicadora{0} se enciende en azul r谩pidamente
+1054=Aseg煤rese de que su Bluetooth{0} est茅 activado y se pueda buscar
+1055=Siguiente paso
+1056=Buscando dispositivo鈥�
+1057=No se ha encontrado ning煤n mando a distancia por infrarrojos
+1058=1.Compruebe si el dispositivo est谩{0} encendido normalmente{0}2.Compruebe si la funci贸n Bluetooth{0} est谩 activada normalmente{0}3.Compruebe si el indicador{0} luz parpadea en azul
+1059=Buscar de nuevo
+1060=Conectar WiFi
+1061=En la actualidad, solo es compatible con la red WiFi 2.4G{0} y no admite nombres WiFi{0} con caracteres chinos
+1062=Contrase帽a
+1063=Conectando鈥�
+1064=Haga que el control remoto por infrarrojos{0} lo m谩s cerca posible del enrutador WiFi
+1065=Enlace de red
+1066=Subir a nube
+1067=Conectado con 茅xito
+1068=1.Compruebe si el dispositivo est谩{0} encendido normalmente{0}2.Active la funci贸n Bluetooth{0}3.Presione el bot贸n durante 10 s y el indicador{0} luz estar谩 encendida
+1069=Error al agregar
+1070=Agregado con 茅xito
+1071=隆Puedes empezar a usar el control infrarrojo{0}remote!
+1072=Empezar a usar
+1073=Por favor encender Bluethooth
+1074=Informaci贸n de ubicaci贸n (GBS) no disponible
+1075=Red no disponible
+1076=Seleccione el mando a distancia por infrarrojos
+1077=Aire fresco
+1078=Pantalla de filtro residual
+1079=Energia
+1080=Ventilado
+;鍒�
+1081=1掳 Marcha
+1082=2掳 Marcha
+1083=3掳 Marcha
+1084=1掳 Marcha
+1085=2掳 Marcha
+1086=3掳 Marcha
+1087=Desbloquear
+1088=Temp. Contrase帽a
+1089=Conectado
+1090=Desconectado
+1091=Generar
+1092=Tiempo efectivo
+1093=Tiempo de caducidad
+1094=Seleccionar hora
+1095=Seleccionar fecha
+1096=Generar
+1097=Se ha copiado la contrase帽a actual
+1098=Borrar contrase帽a?
+1099=El tiempo de caducidad debe ser posterior al tiempo efectivo
+1100=M茅todo de desbloqueo
+1101=Se sincronizar谩 con el bloqueo real, 驴confirmar para eliminar?
+1102=Borrar
+1103=Comentar
+1104=El comentario no puede estar en blanco
+1105=Asignar a:
+1106=Escena de destino no existe
+1107=Seleccionar escena
+1108=Desbloquear
+1109=Siempre encendido
+1110=Configuraci贸n
+1111=Automatizaci贸n
+1112=Activar el modo "Siempre encendido"
+1113=Desactivar el modo "Siempre encendido"
+1114=Editar
+1115=Siempre Encendido estar谩 apagado {0}
+1116=Condici贸n
+1117=Movimiento
+1118=Siempre encendido
+1119=Bloquear
+1120=Usuario
+1121=M茅todo de desbloqueo
+1122=Huella digital
+1123=Tarjeta
+1124=Clave
+1125=Informaci贸n
+1126=Desbloquear
+1127=Alarma
+1128=Sin conexi贸n
+1129=Para el primer usuario, introduzca la contrase帽a.
+1130=Introduzca la contrase帽a de administrador
+1131=Enlace correcto
+1132=Saltar a la contrase帽a personal para desbloquear
+1133=Saltar
+1134=Por favor, dibuja tu patr贸n
+1135=El bloqueo estar谩 siempre encendido despu茅s de la configuraci贸n, confirme para continuar
+1136=Confirmar
+1137=Caducar
+1138=Siempre Encendido caducar谩 despues de {0} horas
+1139=Introduzca el tiempo de caducidad
+1140=El tiempo de caducidad no debe ser superior a 72 horas
+1141=El tiempo de caducidad no debe ser inferior a 1 hora
+1142=Error al establecer conexi贸n, intentelo de nuevo
+1143=No se puede verificar el ID de administrador, vuelva a iniciar sesi贸n en la cuenta
+1144=Su residencia est谩 siendo migrada a otro HDL
+1145=Nota:
+1. Todos sus datos de residencia se migrar谩n a un nuevo usuario. {0} 2. Despu茅s de la migraci贸n, el miembro original ser谩{0}autom谩ticamente desvinculado de esta residencia. {0} 3. La nueva cuenta es una HDL v谩lida. {0} 4. La cuenta del receptor no puede ser la misma{0} que la del lado de la migraci贸n.
+1147=Confirmar
+1148=Cuenta del receptor de entrada
+1149=Perfil
+1150=Confirmar migraci贸n de administrador de {0} a {1}
+1151=La cuenta no existe
+1152=No transferir la propiedad a usted mismo
+1153=Terminar
+1154=Transferir al usuario, por favor espere...
+1155={0} se ha convertido en administrador residencial
+1156=Los datos de residencia se eliminar谩n de su cuenta
+1157=No se puede migrar
+1158=Int茅ntelo de nuevo
+1159=Migraci贸n de la autoridad de administraci贸n
+1160=Su autoridad de administraci贸n se est谩 migrando a otros miembros
+1161=1.Sus datos (datos en la nube) de la residencia ser谩n{0}migrabados al nuevo administrador{0}2.Sus datos se intercambiar谩n con el miembro objetivo{0}y su permiso se cambiar谩 al miembro objetivo{0}
+1162=Confirmar
+1163=No hay miembros para elegir
+1164=Confirmar la migraci贸n de la autoridad de administraci贸n de {0} a {1}
+1165=Migrar correctamente
+1166=No se puede migrar
+1167=Migrar correctamente, y sus permisos se convertir谩n en miembros normales
+
+4000=Videoportero
+4001=Registro de llamadas
+4002=*Los registros en la nube solo se conservan durante 30 d铆as
+4003=Llamada telef贸nica a domicilio
+4004=Contestado
+4005=Desbloqueado
+4006=A帽o
+4007=De
+4008=Llamada
+4009=Desbloqueado
+4010=Perdido
+4011=Rechazado
+4012=隆Los par谩metros de configuraci贸n son anormales!
+4013=C贸digo QR de control de acceso
+4014=Contrase帽a temporal
+
+
+
+
+
+5000=Musica
+5001=Grupo
+5002=Configuracion
+5003=Informaci贸n general
+5004=Reproductor multimedia
+5005=Bluetooth
+5006=Region
+5007=Lista de canciones
+5008=Mis favoritos
+5009=Mi lista
+5010=Seleccionar fuente
+5011=Local
+5012=USB
+5013=Radio en linea
+5014=QQ musica
+5015=Bluetooth
+5016=Entrada de linea
+5017=Revisar el nombre
+5018=Individual
+5019=Juego aleatorio
+5020=Lista
+5021=Ha cambiado a:
+5022=Cancelar
+5023=Borrar
+5024=Editar
+5025=El nombre de la lista es el mismo
+5026=El nombre de la lista esta en blanco
+5027=Introduzca el nombre de la lista
+5028=Agregar nueva lista
+5029=Preguntar
+5030=Eliminar la carpeta o no?
+5031=Confirmar
+5032=El nombre est谩 en blanco
+5033=A帽adido a la lista de canciones
+5034=Radio
+5035=Seleccionar grupo
+5036=Play
+5037=Seleccione al menos mas de 2 reproductores multimedia
+5038=No se pueden seleccionar 2 o m谩s de 2 reproductores multimedia principales para convertirse en un grupo
+5039=No ha seleccionado el reproductor multimedia
+5040=Seleccione esta opci贸n para quitar el reproductor multimedia
+5041=No se ha seleccionado quitar el reproductor multimedia
+5042=Configurando
+5043=Borrando鈥�
+5044=Volumen
+5045=Volumen general
+5046=Ajustar volumen
+5047="QQ music" no se ha instalado en su tel茅fono celular, proceda en el Centro de aplicaciones.
+
+6000=Normal
+6001=Estado del dispositivo
+6002=piezas
+6003=Dispositivo de control IR actual
+6004=Se ha a帽adido el mando a distancia
+6005=AC
+6006=TV
+6007=Ventilador
+6008=Decodificador
+6009=DVD
+6010=Proyector
+6011=Personalizado
+6012=IR Control
+6013=Administraci贸n de dispositivos
+6014=Agregar mando de distancia
+6015=En linea
+6016=Sin conexi贸n
+6017=N煤mero de version
+6018=Introduzca el nombre de mando a distancia
+6019=Recordatorio: Despu茅s de crear el mando a distancia, se puede encontrar y utilizar en Function-Electrical Category{\r\n}
+6020=Boton recomendado
+6021=Introduzca el nombre del bot贸n
+6022=Siguiente
+6023=Potencia
+6024=Volumen+
+6025=Volumen-
+6026=Channel+
+6027=Channel-
+6028=Subir
+6029=Bajar
+6030=Izquierda
+6031=Derecha
+6032=Silenciar
+6034=Confirmar
+6035=Reproducir
+6037=Salir
+6038=Menu
+6039=Pausar
+6040=Volver
+6041=Detener
+6042=Pagina de inicio
+6043=Avance r谩pido
+6044=Rebobinar
+6045=Tiempo
+6046=Copiar funcion de control remoto
+6047=Apunta al centro del mando a distancia y pulsa el mismo bot贸n
+6048=Mando a distancia inteligente
+6049=Agregar bot贸n
+6050=*Pulsaci贸n larga para la clasificaci贸n personalizada
+6051=Hecho
+6052=Agregado correctmente
+6053=Se puede clasificar -funcion-operaci贸n electrica y uso
+6054=Clasificaci贸n
+6055=Nombre del mando a distancia
+6056=Regi贸n
+6057=Continuar agregando
+6058=El茅ctrico
+6059=Error al agregar
+6060=Reintentar
+6061=Hacer coincidir el mando a distancia
+6062=Haga clic en el bot贸n de abajo
+6063=Confirmar si el dispositivo esta respondiendo
+6064=Error de control
+6065=Control exitoso
+6066=Encendido
+6067=Modo de enfriamiento
+6068=
+6069=Temperatura 26掳
+6070=Eliminar dispositivo
+6071=Modificar nombre
+6072=Confirmar eliminaci贸n
+6073=Cancelar
+6074=El mando a distancia no puede superar los 10 puntos
+6075=El 谩rea donde pertenece el control remoto:
+6076=Editar informaci贸n
+6077=Actualizaci贸n de la versi贸n
+6078=El sistema est谩 en mantenimiento ~ Int茅ntelo de nuevo m谩s tarde ~
+6079=Error al obtener datos
+6080=Esta funcion no se admite temporalmente
+6081=Seleccionar banda IR
+6082=
+6083=Baja velocidad
+6084=Interruptor de velocidad del viento
+6085=Alta velocidad
+6086=Auto
+6087=Temperatura+
+6088=Temperatura-
+6089=Purificador de aire
+6090=Calentador de agua
+6091=Producto no existe
+6092=El dispositivo no existe
+6093=El dispositivo no esta en linea
+6094=El dispositivo de puerta de enlace no existe
+6095=Mas de 30 botondes de adici贸n
+6000=Renombrar
+6001=Introduzca el nombre
+6002=Xiaodu
+6003=aispeech
+6004=El sistema est谩 en mantenimiento ~ Int茅ntelo de nuevo m谩s tarde ~
+6005=Desvinculado
+6006=Altavoz inteligente
+6007=Controlar contenido
+6008=Error al cagar datos
+6009=Error al configurar datos
+6010="Todav铆a no hay altavoz", "Vaya a la aplicaci贸n de terceros para vincular el altavoz inteligente".
+6011=La modificaci贸n de los comentarios no tiene 茅xito
+6012=Quieres desvincularte?
+6013=Desvinculaci贸n
+6014=transferir a app de terceros
+6015=A帽adir altavoces
+7000=Crear automatizaci贸n
+7001=Etidar automatizaci贸n
+7002=Si
+7003=Cuando cumple las siguientes condiciones al mismo tiempo
+7004=Cundo cumple una de las condiciones siguintes
+7005=Continuar con la ejecuci贸n
+7006=L asiguiente acci贸n
+7007=M茅todo de reciclaje
+7008=Ejecutar una vez
+7009=Todos los d铆as
+7010=Cada semana
+7011=Cada mes
+7012=Guardar
+7013=Mensaje push
+7014=Enviar notificaci贸n
+7015=Seleccionar la condici贸n
+7016=Momento
+7017=Seleccione la condici贸n de tiempo
+7018=Hora
+7019=Intervalo de tiempo
+7020=Hora
+7021=Minuto
+7022=Segundo
+7023=Cancelar
+7024=Seguro
+7025=*Debe ejecutar la automatizaci贸n que establezca una vez durante el intervalo de tiempo establecido.
+7026=Hora de inicio
+7027=Hora de finalizaci贸n
+7028=Funci贸n
+7029=Seleccionar condici贸n funcional
+7030=Toda la regi贸n
+7031=Toda la funci贸n
+7032=Encendido
+7033=Apagado
+7034=Conmutador
+7035=Completo
+7036=Agregar ejecuci贸n
+7037=Lunes
+7038=Martes
+7039=Mi茅rcoles
+7040=Jueves
+7041=Viernes
+7042=S谩bado
+7043=Domingo
+7044=Cumplir con la condici贸n
+7045=Configuraci贸n
+7046=Nombre
+7047=Cambiar el nombre
+7048=El nombre de la automatizaci贸n ya existe
+7049=Eliminar automatizaci贸n o no?
+7050=Agregar escena
+7051=Retraso
+7052=No se puede guardar, int茅ntelo de nuevo
+7053=No se puede eliminar, int茅ntelo de nuevo
+7054=Pausar
+7055=Brillo
+7056=Porcentaje
+7057=Modo
+7058=Enfriamiento
+7059=Calefacci贸n
+7060=Autom谩tico
+7061=Deshumidificar
+7062=Temperatura
+7063=Velocidad de ventilador
+7064=D铆a
+7065=Noche
+7066=Abandonar
+7067=General
+7068=Tiempo
+7069=No ha configurado la automatizaci贸n, procesa a configurar
+7070=Nada est谩 aqu铆
+7071=No se ha establecido la hora de inicio, por favor configurar
+7072=La hora de finalizaci贸n no se ha establecido, por favor estableza
+7073=La hora de inicio y la hora de finalizacion no deben ser las mismas
+7074=La hora de inicio no debe ser mayor a la hora de finalizaci贸n
+7075=La condicion no debe estar en blanco
+7076=Target no debe estar en blanco
+7077=La hora no se ha establecido, por favor establezca
+7078=L a condici贸n o el objetivo no deben estar en blanco
+7079=L a puerta de enlace esta fuera de l铆nea
+7080=Salida/Puesta de sol/Mediod铆a
+7081=Amanecer
+7082=Puesta de sol
+7083=Mediod铆a
+7084=A tiempo
+7085=Avance
+7086=Minutos
+7087=Cambio exterior
+7088=Seleccionar condicion de cambio al aire libre
+7089=Temperatura exterior, humedad, cambio de PM2.5
+7090=Cambio de clima (clima urbano)
+7091=Cambio en el entorno exterior
+7092=Temperatura superior a
+7093=Temperatura inferior
+7094=Humedad superior a
+7095=Humedad por debajo
+7096=PM2.5 supeior a
+7097=PM2.5 por debajo
+7098=D铆a soleado
+7099=Nublado
+7100=
+7101=*Establezca el valor en este rango (1 ~ 100).
+7102=Sin valor establecido
+7103=Excelente: 0 ~ 35ug/m3
+7104=Bueno: 36 ~ 75ug/m3
+7105=Contaminaci贸n lum铆nica: 76 ~ 115ug/m3
+7106=Contaminaci贸n moderada: 116 ~ 150ug/m3
+7107=Contaminaci贸n intensa: > 150ug/m3
+7108=Fuga/Sin fuga
+7109=Fuga
+7110=Sin fuga
+7111=Fuga de agua/sin fugas de agua
+7112=Fuga de agua
+7113=Sin fuga de agua
+7114=Alguien/Nadie
+7115=Alguien
+7116=Nadie
+7117=Abierto/Cerrado
+7118=Activado
+7119=Cerrar
+7120=Funci贸n anti-desmantelamiento
+7121=En linea
+7122=Fuera de linea
+7123=Calidad del aire
+7124=Excelente
+7125=Bueno
+7126=Pobre
+7127=Enviar notificaci贸n
+7128=Contenido de la notificaci贸n
+7129=(dentro de los 100 caracteres)
+7130=Selecci贸n de cuenta
+7131=Aplicaci贸n push
+7132=Automatizaci贸n
+7133=Ejecutado
+7134=Estado de destino
+7135=Ca铆da
+7136=Temperatura
+7137=Humedad
+7138=PM2.5
+7139=CO2
+7140=TVOC
+7141=Exceder
+7142=Grave
+7143=Alto
+7144=Excelencia
+7145=Seguridad
+7146=A帽adir seguridad
+7147=Armado
+7148=Desarmado
+7149=Manualmente
+7150=Inteligente
+7151=Bueno
+7152=Dejar o Arrivar a un lugar
+7153=Salir
+7154=Llegar
+9000=Inicio sesi贸n con un nuevo n煤mero de tel茅fono celular
+9001=Inicie sesi贸n con una nueva direcci贸n de correo el茅ctr贸nico
+9002=Nuevo numero de celular revisado
+9003=Nuevo numero de celular enlazado
+9004=Nueva direcci贸n de correo electr贸nico revisado
+9005=Nueva direcci贸n de correo electr贸nico enlazado
+9006=El c贸digo de verificaci贸n puede enviarse m谩s tarde, espere.
+9007=Por favor, espere
+9008=Volver
+9009=El usuario no desea ser nombrado
+9010=Nueva contrase帽a
+9011=Introduzca la nueva contrase帽a nuevamente
+9012=De acuerdo
+9013=Acuerdo de servicio
+9014=Normativa de protecci贸n de la informaci贸n del usuario
+9015=y
+9016=Lea y acepte el Acuerdo de servicio del usuario y las regulaciones de protecci贸n de la informaci贸n del usuario.
+9017=Esta seguro de cerrar sesi贸n?
+9018=Seleccione pais/regi贸n
+9019=Actualizar ahora
+9020=Ahora no
+9021=Pa铆s/regi贸n
+9022=Informaci贸n del servidor
+9023=Servidor actual
+9024=*El servidor hace referencia a la base de datos para la nube, sin necesidad alguna, no se recomienda realizar migraci贸n de datos.
+9025=Si es necesaria la migraci贸n de datos, marque
+9026=Introducci贸n a la funci贸n
+9027=Quejas
+9028=Actualizaci贸n de la versi贸n
+9029=(por favor indique "quejas" en el t铆tulo, luego procesaremos en prioridad.)
+9030=Copia realizada
+9031=No hay nada aqu铆
+9032=Obtener nueva versi贸n
+9033=脷ltima versi贸n
+9034=Que puedo hacer por ti?
+9035=Problema de funci贸n
+9036=Problema de escena
+9037=Soporte de aplicaciones
+9038=(Preguntas frecuentes)
+9039=Compartir y funci贸n
+9040=Alertas
+9041=Informaci贸n del sistema
+9042=Centro de informaci贸n
+9043=Tenga en cuenta que su n煤mero de cuenta ha iniciado sesi贸n en otro lugar. Si no lo hace usted mismo, cambie la contrase帽a de inmediato.
+9044=Cargado correctamente
+9045=No se puede cargar
+9046=Revisado correctamente
+9047=La contrase帽a que ha revisado ha entrado en vigor, vuelva a iniciar sesi贸n.
+9048=Iniciar sesion con la contrase帽a del numero de cuenta
+9049=Contrase帽a incorrecta para muchas veces, 隆el n煤mero de cuenta est谩 bloqueado!
+9050=Verificar la identificaci贸n facial
+9051=Error al guardar la identificaci贸n facial del usuario
+9052=La notificaci贸n push de registro esta disponible
+9053=La notificaci贸n push de registro es anormal
+9054=Verificaci贸n numerica de contrase帽a
+9055=Verificaci贸n de gestos
+9056=A帽o
+9057=Sin funci贸n regional
+9058=Guardar o no?
+9059=No compartir ahora
+9060=Usos-permiso
+9061=Encuentra tu contrase帽a haciendo clic en "Olvid茅 mi contrase帽a", o int茅ntalo de nuevo en {0} minuto.
+9062=Comprobar
+9063=Todav铆a tienes {0} veces.
+9064=Altavoz inteligente
+9065=Gesti贸n de datos
+9066=Comentarios
+9067=Los comentarios no pueden estar en blanco
+9068=Desea desvincularse?
+9069=Aviso de propiedad
+10000=Contrasela no v谩lida, vuelva a iniciar sesi贸n
+10001=Error al solicitar el servidor, int茅ntelo de nuevo m谩s tarde.
+10002=Mantenimiento del sistema, int茅ntalo de nuevo mas tarde
+10003=No puede iniciar sesi贸n, agregue la residencia al principio.
+10004=El n煤mero de cuenta ya existe
+10005=Env铆as el c贸digo de verificaci贸n con demasiada frecuencia, int茅ntalo de nuevo m谩s tarde.
+10006=Error de firma
+10007=Sistema ocupado, intentelo de nuevo mas tarde!
+10008=Contrasea no v谩lida para iniciar sesi贸n
+10009=El usuario ha sido deshabilitado
+10010=Error de contrase帽a original
+10011=El n煤mero de subcuenta ya existe
+10012=El npumero de subcuenta no existe
+10013=No esta permitido agregarse como miembro
+10014=La residencia actual no pertenece al este n煤mero de cuenta
+10015=El nombre de la residencia ya existe
+10016=La residencia no existe
+10017=Error de solicitud, par谩metro anormal!
+10018=El n煤mero que enlazaste es duplicado
+10019=Enlazar el gateway primero
+10020=El gateway no existe
+10021=El gateway esta fuera de l铆nea
+10022=El dispositivo est谩 fuera de l铆nea
+10023=Error de control
+10024=La escena ya existe
+10025=La automatizaci贸n ya existe
+10026=Spk no admite esta funci贸n
+10027=Spk no admite este valor funcional
+10028=No tienes permiso
+10029=El destino del dispositivo est谩 duplicado
+10030=No tiene permiso para el control remoto
+10031=El dispositivo no debe estar en blanco
+10032=El usuario no tiene permiso
+10033=El dispositivo no existe
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png
new file mode 100644
index 0000000..56ba0c5
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png
new file mode 100644
index 0000000..d6482d3
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png
new file mode 100644
index 0000000..72ece8b
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png
new file mode 100644
index 0000000..a55c35e
--- /dev/null
+++ b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png
Binary files differ
diff --git a/HDL_APP_Project.sln b/HDL_APP_Project.sln
index 965bf82..fab839a 100644
--- a/HDL_APP_Project.sln
+++ b/HDL_APP_Project.sln
@@ -18,11 +18,6 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UMSdk", "UMSdk\UMSdk.csproj", "{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{510DDCFF-AA25-4C6E-B578-B3B7A2EFBB96}"
- ProjectSection(SolutionItems) = preProject
- LogicMethod.cs = LogicMethod.cs
- EndProjectSection
-EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
HDL_ON\HDL_ON.projitems*{09712674-2a38-407b-b1e2-560b2c352f9a}*SharedItemsImports = 4
diff --git a/HDL_ON/Common/ImageUtlis.cs b/HDL_ON/Common/ImageUtlis.cs
index 918483d..fe739d5 100644
--- a/HDL_ON/Common/ImageUtlis.cs
+++ b/HDL_ON/Common/ImageUtlis.cs
@@ -466,6 +466,47 @@
}
}
+
+
+ /// <summary>
+ /// 涓嬭浇鐢ㄦ埛澶村儚
+ /// </summary>
+ /// <param name="imageUrl"></param>
+ /// <param name="ignoreCache">蹇界暐缂撳瓨</param>
+ /// <param name="regionUrl">鎸囧畾鏈嶅姟鍣ㄥ煙鍚�,浼犵┖涓轰娇鐢ㄥ綋鍓嶇敤鎴峰湴鍧�</param>
+ /// <returns></returns>
+ public byte[] DownImageByImageUrl(string imageUrl, bool ignoreCache = false)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(imageUrl)) return null;
+
+ byte[] imageBytes;
+ if (!ignoreCache && Exists(imageUrl))
+ {
+ //鏈湴鏈夌紦瀛�
+ imageBytes = ReadFile(imageUrl);
+ }
+ else
+ {
+ //涓嬭浇
+ imageBytes = HttpUtil.HttpsDownload(imageUrl);
+ if (imageBytes != null)
+ {
+ //淇濆瓨鍒版湰鍦�
+ WriteFileByBytes(imageUrl, imageBytes);
+ }
+
+ }
+ return imageBytes;
+ }
+ catch
+ {
+ return null;
+ }
+ }
+
+
#endregion
}
}
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 98dd5ac..d537d1f 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -4,6 +4,23 @@
{
public static class StringId
{
+
+ /// <summary>
+ /// 鑾峰彇鏇村
+ /// </summary>
+ public const int GetMore = 543;
+ /// <summary>
+ /// 寰樺緤鎶ヨ
+ /// </summary>
+ public const int WanderingAlarm = 542;
+ /// <summary>
+ /// 鐩戞帶涓�
+ /// </summary>
+ public const int Monitoring = 541;
+ /// <summary>
+ /// 鎶ヨ涓�
+ /// </summary>
+ public const int InAlarming = 540;
/// <summary>
/// 鏅鸿兘闈㈡澘
/// </summary>
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 5f9b849..5672c7a 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -94,7 +94,7 @@
}
set
{
- if (_GatewayOnline_Local != value)
+ //if (_GatewayOnline_Local != value)
{
_GatewayOnline_Local = value;
if (value)
@@ -129,7 +129,7 @@
}
set
{
- if (_GatewayOnline_Cloud != value)
+ //if (_GatewayOnline_Cloud != value)
{
_GatewayOnline_Cloud = value;
if(GatewayOnline_Local)
@@ -460,6 +460,7 @@
var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id,resend);
MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
+ //Control.Ins.MsgInfoList.Add($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"+"\r\n");
}
}
//杩滅▼閫氳
@@ -655,6 +656,79 @@
}
/// <summary>
+ /// 鍙戦�佽鍙栧懡浠�
+ /// 鑷姩鍒ゆ柇鏄惁涓篈鍗忚璁惧
+ /// </summary>
+ public void SendReadCommand(List<Function> functions, bool forceRemote = false)
+ {
+ List<string> sids = new List<string>();
+ foreach (Function function in functions)
+ {
+ sids.Add(function.sid);
+ function.refreshTime = DateTime.Now;
+ }
+ if (forceRemote)
+ {
+
+ var pm = new DAL.Server.HttpServerRequest();
+ var pack = pm.RefreshDeviceStatus(sids);
+ }
+ else
+ {
+ if (Ins.GatewayOnline_Local)
+ {
+
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ try
+ {
+ var busClient = new Control_Udp();
+ foreach (Function function in functions)
+ {
+ busClient.ReadBusData(function);
+ }
+
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
+ }
+ }
+ else
+ {
+ var objects = new List<Dictionary<string, string>>();
+
+
+ foreach (Function function in functions)
+ {
+ var readKey = new Dictionary<string, string>();
+ readKey.Add("sid", function.sid);
+ objects.Add(readKey);
+ }
+
+
+ var readDataObj = new AlinkReadFunctionStatusObj()
+ {
+ id = Ins.msg_id.ToString(),
+ objects = objects,
+ time_stamp = Utlis.GetTimestamp()
+ };
+ var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+ var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
+ MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
+ }
+ }
+ else
+ {
+ var pm = new DAL.Server.HttpServerRequest();
+ var pack = pm.RefreshDeviceStatus(sids);
+ }
+ }
+ }
+
+
+ /// <summary>
/// 瀹夐槻鎺у埗
/// </summary>
public void ControlSecurity(SecurityAlarm securityAlarm,string state)
@@ -666,7 +740,7 @@
gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId,
sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId
} });
- MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}");
+ MainPage.Log($"瀹夐槻鎺у埗缁撴灉:code锛歿result.Code}锛沵sg锛歿result.message}");
}
else
{
@@ -951,6 +1025,7 @@
/// <summary>
/// 鏇存柊璁惧鐘舵��
/// A鍗忚鏁版嵁
+ /// Tag Link鐘舵�佸鐞�
/// </summary>
/// <param name="updateBytes"></param>
public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false)
@@ -1194,6 +1269,7 @@
case SPK.AirFreshStandard:
case SPK.HvacAirFresh:
case SPK.SensorGas:
+ case SPK.SensorHelp:
//璁惧鐘舵�佹帹閫�
//鐘舵�佹洿鏂�
Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 01d44d8..882cf3b 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -511,12 +511,15 @@
}
#endregion
//A缃戝叧璁惧鐘舵��-鍖呭惈娑傞甫璁惧
+ //Tag 缃戠粶鐘舵�佽В鏋�
else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/property/send")
{
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
var revString = Encoding.UTF8.GetString(bytes);
MainPage.Log($"mqtt 鐘舵�佹洿鏂�:{revString}");
Control.Ins.UpdataFunctionStatus(revString, null, true);
+ //Control.Ins.MsgInfoList.Add($"mqtt 鐘舵�佹洿鏂�:{revString}");
+
//Control.Ins.MsgInfoList.Add(revString + "\r\n");
}
//涓�绔彛鏁版嵁瑙f瀽
@@ -1094,8 +1097,17 @@
//鍒涘缓AES瑙e瘑鍣ㄥ璞�
var cTransform = rm.CreateDecryptor();
+ byte[] reData = null;
//浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁�
- return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
+ try
+ {
+ reData = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.Message);
+ }
+ return reData;
}
#endregion
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 0fdea4a..0e0a902 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -2621,6 +2621,25 @@
var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_FL_Check, requestJson);
return pack;
}
+ /// <summary>
+ /// 鑾峰彇闂ㄥ彛鏈哄緲寰婃姤璀︽暟鎹�
+ /// </summary>
+ /// <param name="deviceId"></param>
+ /// <returns></returns>
+ public ResponsePackNew GetAlarmRecords(string deviceId, int pageSize, int pageNo, string alarmType = "PROWLER_ALARM")
+ {
+ Dictionary<string, object> d = new Dictionary<string, object>();
+ d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ d.Add("deviceId", deviceId);
+ d.Add("alarmType", alarmType);
+ d.Add("pageSize", pageSize);
+ d.Add("pageNo", pageNo);
+ var requestJson = HttpUtil.GetSignRequestJson(d);
+ var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_ALARM_RECORDS, requestJson);
+ return pack;
+
+ }
+
#endregion
#region 鈻� 闂ㄩ攣鐩稿叧____________________________
diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs
index 82b6dd0..ce16936 100644
--- a/HDL_ON/DAL/Server/HttpUtil.cs
+++ b/HDL_ON/DAL/Server/HttpUtil.cs
@@ -17,8 +17,8 @@
/// 鍥哄畾鍩熷悕,姝e紡鐜
/// 鍏叡鍩熷悕灏辫繎瑙f瀽
/// </summary>
- public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
- //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
+ //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
+ public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
/// <summary>
/// RegionMark
/// </summary>
diff --git a/HDL_ON/DAL/Server/NewAPI.cs b/HDL_ON/DAL/Server/NewAPI.cs
index d1d23bb..b569143 100644
--- a/HDL_ON/DAL/Server/NewAPI.cs
+++ b/HDL_ON/DAL/Server/NewAPI.cs
@@ -668,6 +668,21 @@
/// 鍔ㄦ�佸瘑鐮�/浜岀淮鐮佸紑閿�
/// </summary>
public const string API_POST_FL_QRcode = "http://112.74.164.111:180/api.php/Device/setdynamicpwd";
+ /// <summary>
+ /// 涓存椂瀵嗙爜
+ /// 浜岀淮鐮�
+ /// </summary>
+ public const string API_Post_Temporary_Password = "/home-wisdom/app/freeview/temppwd/add";
+ /// <summary>
+ /// 鑾峰彇闂ㄧ浜岀淮鐮�
+ /// </summary>
+ public const string API_POST_OwnerQRCode = "/community-wisdom/doorDevice/getOwnerQRCode";
+ /// <summary>
+ /// 寰樺緤鎶ヨ
+ /// </summary>
+ public const string API_POST_ALARM_RECORDS = "/home-wisdom/app/device/alarmRecords/listByPage";
+
+
#endregion
diff --git a/HDL_ON/DAL/Server/NewApiRes.cs b/HDL_ON/DAL/Server/NewApiRes.cs
index c92e4d1..f005989 100644
--- a/HDL_ON/DAL/Server/NewApiRes.cs
+++ b/HDL_ON/DAL/Server/NewApiRes.cs
@@ -1505,7 +1505,7 @@
/// <summary>
/// 浣忓畢ID
/// </summary>
- public string homeId;
+ public string homeId ;
/// <summary>
/// 闄勫姞鍐呭
/// </summary>
diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 56ec48f..abbdbd3 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -117,6 +117,7 @@
if (mHDLSipInfo == null) return;
#if __IOS__
+ //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("1003", "123456", "192.168.31.194:5060");
//Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("6666", "85521566", "116.62.26.215:5060");
Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
#else
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 6fdb8d9..a142825 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -88,7 +88,7 @@
{
var attrs = new List<string>();
- foreach(var attr in attributes)
+ foreach (var attr in attributes)
{
attrs.Add(attr.key);
}
@@ -349,6 +349,26 @@
public List<string> roomIds = new List<string>();
/// <summary>
+ /// 瀛樺偍灞炴�ч厤缃�
+ /// 鐜浼犳劅鍣ㄧ殑绛夌骇
+ /// </summary>
+ public List<AttrKeyConfig> attrKeyConfigs = new List<AttrKeyConfig>();
+
+ public List<AttrKeyConfig> GetAttrKeyConfigs(string key)
+ {
+ if (attrKeyConfigs.Count == 0)
+ {
+ switch (key)
+ {
+ case "pm2.5":
+
+ break;
+ }
+ }
+ return attrKeyConfigs;
+ }
+
+ /// <summary>
/// bus鍗忚鏁版嵁鏍煎紡
/// 浣跨敤A鍗忚鎺у埗鏃讹紝鏀瑰睘鎬т负绌�
/// </summary>
@@ -361,6 +381,11 @@
/// 鏄惁鍦ㄧ嚎
/// </summary>
public bool online = true;
+
+ /// <summary>
+ /// 鐜闈㈡澘 缁戝畾鐨� 璁惧鐩爣sid鍒楄〃
+ /// </summary>
+ public List<string> targetSids = new List<string>();
/// <summary>
/// 浜戠鏁版嵁鍒涘缓鐨勬椂闂�
/// </summary>
@@ -403,7 +428,7 @@
_trait_on_off.curValue = "off";
}
}
- if(_trait_on_off.curValue.ToString() != "on"&& _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop")
+ if (_trait_on_off.curValue.ToString() != "on" && _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop")
{
_trait_on_off.curValue = "off";
}
@@ -470,7 +495,7 @@
collect = !collect;
IMessageCommon.Current.ShowErrorInfoAlter(result);
});
- }else
+ } else
{
Application.RunOnMainThread(() =>
{
@@ -495,7 +520,7 @@
}
else
{
- result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId,roomId);
+ result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId, roomId);
}
//鎻愮ず閿欒
if (result != StateCode.SUCCESS)
@@ -538,9 +563,9 @@
{
roomNameList += ",";
}
- roomNameList += findRoom.floorName +"-"+ findRoom.roomName;
+ roomNameList += findRoom.floorName + "-" + findRoom.roomName;
}
- if (roomNameList == "" )
+ if (roomNameList == "")
{
roomNameList = Language.StringByID(StringId.WholeZone);
}
@@ -653,14 +678,14 @@
case FunctionAttributeKey.Percent:
case FunctionAttributeKey.CCT:
case FunctionAttributeKey.RGB:
- //case FunctionAttributeKey.FadeTime:
+ //case FunctionAttributeKey.FadeTime:
if (attr.curValue.ToString() == "{}")
{
if (attr.key == FunctionAttributeKey.OnOff)
{
attr.curValue = "off";
}
- else if (attr.key == FunctionAttributeKey.Mode )
+ else if (attr.key == FunctionAttributeKey.Mode)
{
if (DB_ResidenceData.Instance.GatewayType == 0)
{
@@ -678,7 +703,7 @@
}
}
}
- else
+ else
{
attr.curValue = "0";
}
@@ -731,7 +756,7 @@
return sendDataObj;
}
- public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId,string extStr)
+ public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId, string extStr)
{
var sendDataObj = new AlinkDoorlockObj();
sendDataObj.id = Control.Ins.msg_id.ToString();
@@ -1162,7 +1187,7 @@
try
{
return Convert.ToByte(loopId, 16);
- }catch
+ } catch
{
return 0;
}
@@ -1266,7 +1291,7 @@
/// <summary>
/// 锛堢孩澶栫┖璋冿級
/// </summary>
- public const string AcIr= "ir.ac";
+ public const string AcIr = "ir.ac";
/// <summary>
/// 绌鸿皟
/// </summary>
@@ -1465,10 +1490,11 @@
spkList.Add(SensorDryContact2);
spkList.Add(SenesorMegahealth);
spkList.Add(SenesorMegahealth2);
- spkList.Add(SensorHelp);
return spkList;
}
+ #endregion
+ public const string PanelEnvironment = "screen.panel";
/// <summary>
/// 闈㈡澘spk鍒楄〃
/// </summary>
@@ -1477,9 +1503,9 @@
{
var spkList = new List<string>();
spkList.Add(SensorHelp);
+ spkList.Add(PanelEnvironment);
return spkList;
}
- #endregion
#region 鐜浼犳劅鍣�
/// <summary>
@@ -1840,9 +1866,49 @@
//}
-public class VersionInfo
-{
- public string module = "";
- public string version = "";
-}
+ public class VersionInfo
+ {
+ public string module = "";
+ public string version = "";
+ }
+
+ /// <summary>
+ /// 鍔熻兘灞炴�х浉鍏抽厤缃俊鎭�
+ /// 鐜浼犳劅鍣ㄧ瓑绾т娇鐢�
+ /// </summary>
+ public class AttrKeyConfig
+ {
+ public string key = string.Empty;
+ /// <summary>
+ /// 閰嶇疆绫诲瀷
+ /// interval 鍖洪棿
+ /// 鐩墠鍙敮鎸侊細interval
+ /// </summary>
+ public string type = string.Empty;
+
+ public string unit = string.Empty;
+
+ public List<AttrKeyInfo> configs = new List<AttrKeyInfo>();
+
+ }
+
+ public class AttrKeyInfo
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ public string start = string.Empty;
+ /// <summary>
+ ///
+ /// </summary>
+ public string end = string.Empty;
+ /// <summary>
+ ///
+ /// </summary>
+ public string color = string.Empty;
+ /// <summary>
+ /// 鎻忚堪
+ /// </summary>
+ public string desc = string.Empty;
+ }
}
diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 82ed611..f07f304 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using Shared;
namespace HDL_ON.Entity
{
@@ -64,7 +65,7 @@
}
}
double value = 0.0;
- double.TryParse( attr.state,out value);
+ double.TryParse(attr.state, out value);
return Convert.ToDouble(value);
}
@@ -81,9 +82,30 @@
/// <summary>
/// 姣忎釜绛夌骇瀵瑰尯闂村��
/// </summary>
- public List<string> GetIntervalValue(string spk)
+ public List<string> GetIntervalValue(Function function)
{
var _intervalValue = new List<string>();
+
+
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ foreach (var info in attrKey.configs)
+ {
+ _intervalValue.Add(info.start + " ~ " + info.end);
+ }
+ }
+ }
+ if (_intervalValue.Count > 0)
+ return _intervalValue;
+ }
+
+
+ string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
@@ -128,12 +150,72 @@
return _intervalValue;
}
+ public string Unit(Function function)
+ {
+ string unit = "";
+
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ if (string.IsNullOrEmpty(attrKey.unit))
+ return attrKey.unit;
+ }
+ }
+ }
+
+ switch (function.spk)
+ {
+ case SPK.SensorPm25:
+ unit = "ug/m虏";
+ break;
+ case SPK.SensorTemperature:
+ unit = "掳C";
+ break;
+ case SPK.SensorTVOC:
+ unit = "PPB";
+ break;
+ case SPK.SensorCO2:
+ unit = "PPM";
+ break;
+ case SPK.SensorHumidity:
+ unit = "%";
+ break;
+ case SPK.SensorHcho:
+ unit = "mg/m3";
+ break;
+ }
+
+ return unit;
+ }
+
/// <summary>
/// 姣忎釜绛夌骇鐨勯鑹插��
/// </summary>
- public List<uint> GetLevelColorList(string spk)
+ public List<uint> GetLevelColorList(Function function)
{
var _levelColorList = new List<uint>();
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ foreach (var info in attrKey.configs)
+ {
+ _levelColorList.Add(Convert.ToUInt32(info.color, 16));
+ }
+ }
+ }
+ if (_levelColorList.Count > 0)
+ return _levelColorList;
+ }
+
+ string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
@@ -187,56 +269,138 @@
/// <summary>
/// 姣忎釜绛夌骇鐨勫悕绉�
/// </summary>
- public List<int> GetLevelTextList(string spk)
+ public List<string> GetLevelTextList(Function function)
{
- var _levelTextList = new List<int>();
+ var _levelTextList = new List<string>();
+
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ foreach (var info in attrKey.configs)
+ {
+ _levelTextList.Add(info.desc);
+ }
+ }
+ }
+ if (_levelTextList.Count > 0)
+ return _levelTextList;
+ }
+
+ string spk = function.spk;
switch (spk)
{
case SPK.SensorPm25:
- _levelTextList.Add(StringId.Great);
- _levelTextList.Add(StringId.Good);
- _levelTextList.Add(StringId.MildPollution);
- _levelTextList.Add(StringId.HeavyPollution);
+ _levelTextList.Add(Language.StringByID(StringId.Great));
+ _levelTextList.Add(Language.StringByID(StringId.Good));
+ _levelTextList.Add(Language.StringByID(StringId.MildPollution));
+ _levelTextList.Add(Language.StringByID(StringId.HeavyPollution));
break;
case SPK.SensorCO2:
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level1);
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level2);
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level3);
- _levelTextList.Add(StringId.SensorReferenceTipCO2Level4);
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level1));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level2));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level3));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level4));
break;
case SPK.SensorTemperature:
- _levelTextList.Add(StringId.ExtremelyCold);
- _levelTextList.Add(StringId.Cold);
- _levelTextList.Add(StringId.SlightlyCold);
- _levelTextList.Add(StringId.Comfortable);
- _levelTextList.Add(StringId.TepidFever);
- _levelTextList.Add(StringId.Heat_SensorTip);
- _levelTextList.Add(StringId.ExtremeHeat);
+ _levelTextList.Add(Language.StringByID(StringId.ExtremelyCold));
+ _levelTextList.Add(Language.StringByID(StringId.Cold));
+ _levelTextList.Add(Language.StringByID(StringId.SlightlyCold));
+ _levelTextList.Add(Language.StringByID(StringId.Comfortable));
+ _levelTextList.Add(Language.StringByID(StringId.TepidFever));
+ _levelTextList.Add(Language.StringByID(StringId.Heat_SensorTip));
+ _levelTextList.Add(Language.StringByID(StringId.ExtremeHeat));
break;
case SPK.SensorTVOC:
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel1);
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2);
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3);
- _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4);
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel1));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel2));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel3));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel4));
break;
case SPK.SensorHumidity:
- _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel1);
- _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2);
- _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3);
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2));
+ _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3));
break;
case SPK.SensorHcho:
- _levelTextList.Add(StringId.Class_I_BuildingStandard);
- _levelTextList.Add(StringId.SecondaryBuildingStandard);
- _levelTextList.Add(StringId.ExceedingTheStandard);
+ _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard));
+ _levelTextList.Add(Language.StringByID(StringId.SecondaryBuildingStandard));
+ _levelTextList.Add(Language.StringByID(StringId.ExceedingTheStandard));
break;
default:
- _levelTextList.Add(99999999);
- _levelTextList.Add(99999999);
- _levelTextList.Add(99999999);
+ _levelTextList.Add("");
+ _levelTextList.Add("");
+ _levelTextList.Add("");
break;
}
return _levelTextList;
}
+
+ /// <summary>
+ /// 鑾峰彇
+ /// </summary>
+ /// <param name="function"></param>
+ /// <returns></returns>
+ public uint GetCurColor(Function function)
+ {
+ var spk = function.spk;
+ var values = GetValues(function);
+ uint level = 0x00000000;
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ foreach (var info in attrKey.configs)
+ {
+ if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values))
+ {
+ return Convert.ToUInt32(info.color, 16);
+ }
+ }
+ }
+ }
+ }
+
+ return level;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏂囨湰
+ /// </summary>
+ /// <param name="function"></param>
+ /// <returns></returns>
+ public string GetCurText(Function function)
+ {
+ var spk = function.spk;
+ var values = GetValues(function);
+ var level = "";
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ foreach (var info in attrKey.configs)
+ {
+ if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values))
+ {
+ return info.desc;
+ }
+ }
+ }
+ }
+ }
+
+ return level;
+ }
+
/// <summary>
/// 褰撳墠绛夌骇
/// </summary>
@@ -245,6 +409,37 @@
var spk = function.spk;
var values = GetValues(function);
int level = 1;
+
+
+
+ if (function.attrKeyConfigs.Count > 0)
+ {
+
+ foreach (var attrKey in function.attrKeyConfigs)
+ {
+ if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
+ {
+ level = 1;
+ if(attrKey.configs.Count == 0)
+ {
+ break;
+ }
+ foreach (var info in attrKey.configs)
+ {
+ if ((Convert.ToDouble(info.start) < values) && (Convert.ToDouble(info.end) >= values))
+ {
+ return level;
+ }
+ level++;
+
+ }
+ }
+ }
+ return 1;
+ }
+
+
+
switch (spk)
{
case SPK.SensorPm25:
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 208eb41..9b724ca 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -468,12 +468,25 @@
if(DriverLayer.Control.Ins.GatewayOnline_Local)
{
+
+ //List<Function> functions = GetDeviceFunctionList(SPK.BrandType.Hdl);
+ //var sss = functions.OrderBy((obj) => obj.collect);
+
+ List<Function> readList = new List<Function>();
foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl))
{
+ readList.Add(function);
MainPage.Log($"璇诲彇鍔熻兘鐘舵�侊細{function.name} : {function.sid} ");
- Control.Ins.SendReadCommand(function);
+ if (readList.Count > 9)
+ {
+ Control.Ins.SendReadCommand(readList);
+ }
}
- if(DB_ResidenceData.Instance.GatewayType == 1)
+ if (readList.Count > 0)
+ {
+ Control.Ins.SendReadCommand(readList);
+ }
+ if (DB_ResidenceData.Instance.GatewayType == 1)
{
Dictionary<string, string> pairs = new Dictionary<string, string>();
string sendId = Control.Ins.msg_id.ToString();
@@ -490,6 +503,8 @@
var page = new List<string>();
int count = 0;
+ //List<Function> functions = GetDeviceFunctionList(SPK.BrandType.Hdl);
+ //var sss = functions.OrderBy((obj) => obj.collect);
foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl))
{
page.Add(function.deviceId);
diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems
index 84c78f2..948c13d 100644
--- a/HDL_ON/HDL_ON.projitems
+++ b/HDL_ON/HDL_ON.projitems
@@ -493,6 +493,12 @@
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacDayHistoryPage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacHistoryChoosePage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicMethod.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Panel\PanelHelpPage.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Panel\EnvironmentPanelPage.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Form\DeviceFunction4CardCommonForm.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\FhContentView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\AcContentView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\WanderingAlarmPage.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
@@ -519,5 +525,6 @@
<Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\SenesorEnvironment\" />
<Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\LightScene\" />
<Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\FaceManagement\" />
+ <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\" />
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
index b4a926d..736410b 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -204,6 +204,15 @@
var doorLockPage = new DoorLockPage();
doorLockPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
break;
+ case SPK.SensorHelp:
+ var panelHelpPage = new UI2.FuntionControlView.Panel.PanelHelpPage();
+ panelHelpPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
+ break;
+ case SPK.PanelEnvironment:
+ var panelEnvironmentPage = new EnvironmentPanelPage();
+ panelEnvironmentPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
+ break;
+
}
};
return eventHandler;
diff --git a/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs b/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs
new file mode 100644
index 0000000..dacaea3
--- /dev/null
+++ b/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs
@@ -0,0 +1,452 @@
+锘縰sing HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace HDL_ON.Stan
+{
+ /// <summary>
+ /// 璁惧鍔熻兘鍗$墖鐨勫簳灞傜晫闈�
+ /// </summary>
+ public class DeviceFunction4CardCommonForm : EditorCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 褰撳墠鍥炶矾瀵硅薄
+ /// </summary>
+ public Function device = null;
+ /// <summary>
+ /// 鍙充笂瑙掗厤缃粨鏉熺殑浜嬩欢
+ /// </summary>
+ public Action SettionFinishEvent = null;
+ /// <summary>
+ /// 宸﹀彸缈婚〉鐨勬帶浠剁殑浜嬩欢
+ /// </summary>
+ public Action<int> PageChangeEvent = null;
+ /// <summary>
+ /// 宸﹀彸鏁翠釜缈婚〉鐨勬帶浠�
+ /// </summary>
+ private PageLayout pageLayout = null;
+ /// <summary>
+ /// 璁惧鍚嶅瓧鎺т欢(鍒锋柊鐢ㄥ埌)
+ /// </summary>
+ public NormalViewControl btnDeviceName = null;
+ /// <summary>
+ /// 鎴块棿鍚嶅瓧鎺т欢(鍒锋柊鐢ㄥ埌)
+ /// </summary>
+ public NormalViewControl btnRoomName = null;
+ /// <summary>
+ /// 搴曢儴蹇嵎鎸夐挳1
+ /// </summary>
+ private NormalViewControl btnBottomOne = null;
+ /// <summary>
+ /// 搴曢儴蹇嵎鎸夐挳2
+ /// </summary>
+ private NormalViewControl btnBottomTwo = null;
+ private NormalViewControl btnBottom3 = null;
+ private NormalViewControl btnBottom4 = null;
+ /// <summary>
+ /// 绗竴绱㈠紩鐨勭櫧鑹插尯鍩熺殑妗屽竷鎺т欢
+ /// </summary>
+ public NormalFrameLayout FrameWhiteCentet1 = null;
+ /// <summary>
+ /// 绗簩绱㈠紩鐨勭櫧鑹插尯鍩熺殑妗屽竷鎺т欢(璇峰厛璋冪敤AddSecondPage鍑芥暟瀹屾垚娣诲姞)
+ /// </summary>
+ public NormalFrameLayout FrameWhiteCentet2 = null;
+ public NormalFrameLayout FrameWhiteCentet3 = null;
+ public NormalFrameLayout FrameWhiteCentet4 = null;
+
+ /// <summary>
+ /// 鏄惁鏄剧ず鏀惰棌鎸夐挳
+ /// </summary>
+ public bool ShowColltionButton = true;
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+ /// </summary>
+ /// <param name="i_device">璁惧瀵硅薄</param>
+ /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
+ /// <param name="btnHigherDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
+ /// <param name="btnHigherRoom">涓婁竴绾х晫闈㈢殑鎴块棿鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
+ public void ShowForm(Function i_device, Button btnHigherCollection, Button btnHigherDeviceName, Button btnHigherRoom)
+ {
+ this.device = i_device;
+
+ //娣诲姞澶撮儴銆愯缃�戝浘鏍�
+ this.AddTopSettingIcon(btnHigherDeviceName, btnHigherRoom);
+
+ //鍒濆鍖栦腑閮ㄤ俊鎭�
+ this.InitMiddleFrame(btnHigherCollection);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+ /// </summary>
+ /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢</param>
+ private void InitMiddleFrame(Button btnHigherCollection)
+ {
+ //娓呯┖bodyFrame
+ this.ClearBodyFrame();
+
+ //宸﹀彸鏁翠釜缈婚〉鐨勬帶浠�
+ this.pageLayout = new PageLayout();
+ pageLayout.IsShowPoint = false;
+ pageLayout.ScrollEnabled = false;
+ bodyFrameLayout.AddChidren(pageLayout);
+ pageLayout.PageChange += (sender, index) =>
+ {
+ //璁剧疆搴曢儴涓や釜鎸夐挳鐨勭姸鎬�
+ this.SetBottomTwoButtonStatu();
+ this.PageChangeEvent?.Invoke(index);
+ };
+
+ //鍒濆鍖栫涓�涓储寮曠殑妗屽竷
+ this.InitFrameWhiteContent1(btnHigherCollection);
+ //鍒濆鍖栫櫧鑹插唴瀹�(闇�瑕佽嚜涓诲疄鐜�)
+ this.InitFrameWhiteContent();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫涓�涓储寮曠殑妗屽竷
+ /// </summary>
+ /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢</param>
+ private void InitFrameWhiteContent1(Button btnHigherCollection)
+ {
+ //绗竴涓储寮曟甯冩槸蹇呭畾瀛樺湪鐨�
+ var frameTable1 = new FrameLayout();
+ frameTable1.Width = pageLayout.Width;
+ frameTable1.Height = pageLayout.Height;
+ pageLayout.AddChidren(frameTable1);
+ //绗竴涓储寮曠殑鐧借壊妗屽竷
+ this.FrameWhiteCentet1 = new NormalFrameLayout();
+ FrameWhiteCentet1.Gravity = Gravity.CenterHorizontal;
+ FrameWhiteCentet1.Y = Application.GetRealHeight(22);
+ FrameWhiteCentet1.Width = Application.GetRealWidth(327);
+ FrameWhiteCentet1.Height = Application.GetRealHeight(526);
+ FrameWhiteCentet1.BackgroundImagePath = "Public/Fragmentbg.png";
+ frameTable1.AddChidren(FrameWhiteCentet1);
+ //璁惧鍚嶅瓧
+ this.btnDeviceName = new NormalViewControl(270, 37, true);
+ btnDeviceName.X = Application.GetRealWidth(16);
+ btnDeviceName.Y = Application.GetRealHeight(18);
+ btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor;
+ btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel;
+ btnDeviceName.Text = device.name;
+ btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
+ FrameWhiteCentet1.AddChidren(btnDeviceName);
+ //鎴块棿鍚嶅瓧
+ this.btnRoomName = new NormalViewControl(270, 21, true);
+ btnRoomName.X = Application.GetRealWidth(16);
+ btnRoomName.Y = btnDeviceName.Bottom;
+ btnRoomName.TextColor = CSS_Color.PromptingColor1;
+ btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
+ btnRoomName.Text = device.GetRoomListName();
+ btnRoomName.Width = btnRoomName.GetRealWidthByText();
+ FrameWhiteCentet1.AddChidren(btnRoomName);
+ if (ShowColltionButton)
+ {
+ var btnCollection = new IconViewControl(40);
+ btnCollection.X = Application.GetRealWidth(273);
+ btnCollection.Y = Application.GetRealHeight(16);
+ btnCollection.SelectedImagePath = "Collection/CollectionIcon.png";
+ btnCollection.UnSelectedImagePath = "Collection/CollectionGrayIcon.png";
+ btnCollection.IsSelected = device.collect;
+ FrameWhiteCentet1.AddChidren(btnCollection);
+ btnCollection.ButtonClickEvent += (sender, e) =>
+ {
+ btnCollection.IsSelected = !btnCollection.IsSelected;
+ device.collect = btnCollection.IsSelected;
+ btnHigherCollection.IsSelected = device.collect;
+
+ device.CollectFunction();
+ };
+ }
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫浜屼釜绱㈠紩鐨勬甯�
+ /// </summary>
+ private void InitFrameWhiteContent2()
+ {
+ this.pageLayout.ScrollEnabled = true;
+ //绗竴涓储寮曟甯冩槸蹇呭畾瀛樺湪鐨�
+ var frameTable2 = new FrameLayout();
+ frameTable2.Width = pageLayout.Width;
+ frameTable2.Height = pageLayout.Height;
+ pageLayout.AddChidren(frameTable2);
+ //绗竴涓储寮曠殑鐧借壊妗屽竷
+ this.FrameWhiteCentet2 = new NormalFrameLayout();
+ FrameWhiteCentet2.Gravity = Gravity.CenterHorizontal;
+ FrameWhiteCentet2.Y = Application.GetRealHeight(22);
+ FrameWhiteCentet2.Width = Application.GetRealWidth(327);
+ FrameWhiteCentet2.Height = Application.GetRealHeight(526);
+ FrameWhiteCentet2.BackgroundImagePath = "Public/Fragmentbg.png";
+ frameTable2.AddChidren(FrameWhiteCentet2);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫3涓储寮曠殑妗屽竷
+ /// </summary>
+ private void InitFrameWhiteContent3()
+ {
+ var frameTable3 = new FrameLayout();
+ frameTable3.Width = pageLayout.Width;
+ frameTable3.Height = pageLayout.Height;
+ pageLayout.AddChidren(frameTable3);
+ //绗竴涓储寮曠殑鐧借壊妗屽竷
+ this.FrameWhiteCentet3 = new NormalFrameLayout();
+ FrameWhiteCentet3.Gravity = Gravity.CenterHorizontal;
+ FrameWhiteCentet3.Y = Application.GetRealHeight(22);
+ FrameWhiteCentet3.Width = Application.GetRealWidth(327);
+ FrameWhiteCentet3.Height = Application.GetRealHeight(526);
+ FrameWhiteCentet3.BackgroundImagePath = "Public/Fragmentbg.png";
+ frameTable3.AddChidren(FrameWhiteCentet3);
+ }
+ /// <summary>
+ /// 鍒濆鍖栫4涓储寮曠殑妗屽竷
+ /// </summary>
+ private void InitFrameWhiteContent4()
+ {
+ var frameTable4 = new FrameLayout();
+ frameTable4.Width = pageLayout.Width;
+ frameTable4.Height = pageLayout.Height;
+ pageLayout.AddChidren(frameTable4);
+ //绗竴涓储寮曠殑鐧借壊妗屽竷
+ this.FrameWhiteCentet4 = new NormalFrameLayout();
+ FrameWhiteCentet4.Gravity = Gravity.CenterHorizontal;
+ FrameWhiteCentet4.Y = Application.GetRealHeight(22);
+ FrameWhiteCentet4.Width = Application.GetRealWidth(327);
+ FrameWhiteCentet4.Height = Application.GetRealHeight(526);
+ FrameWhiteCentet4.BackgroundImagePath = "Public/Fragmentbg.png";
+ frameTable4.AddChidren(FrameWhiteCentet4);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫櫧鑹插唴瀹�(闇�瑕佽嚜涓诲疄鐜�)
+ /// </summary>
+ public virtual void InitFrameWhiteContent()
+ {
+ }
+
+ #endregion
+
+ #region 鈻� 娣诲姞绗簩绱㈠紩椤礯____________________
+
+ /// <summary>
+ /// 娣诲姞绗簩绱㈠紩椤�
+ /// </summary>
+ public void AddSecondPage()
+ {
+ //鍒濆鍖栫浜屼釜绱㈠紩鐨勬甯�
+ this.InitFrameWhiteContent2();
+
+ //搴曢儴娣诲姞涓や釜鎸夐挳
+ this.btnBottomOne = new NormalViewControl(14, 6, true);
+ btnBottomOne.X = Application.GetRealWidth(170);
+ btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30);
+ btnBottomOne.BackgroundColor = CSS_Color.MainColor;
+ btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottomOne);
+
+ this.btnBottomTwo = new NormalViewControl(14, 6, true);
+ btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8);
+ btnBottomTwo.Y = btnBottomOne.Y;
+ btnBottomTwo.BackgroundColor = 0xffadc7f7;
+ btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottomTwo);
+
+ }
+
+ /// <summary>
+ /// 娣诲姞绗�3绱㈠紩椤�
+ /// </summary>
+ public void Add3thPage()
+ {
+ this.InitFrameWhiteContent2();
+ this.InitFrameWhiteContent3();
+
+ //搴曢儴娣诲姞涓や釜鎸夐挳
+ this.btnBottomOne = new NormalViewControl(14, 6, true);
+ btnBottomOne.X = Application.GetRealWidth(160);
+ btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30);
+ btnBottomOne.BackgroundColor = CSS_Color.MainColor;
+ btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottomOne);
+ this.btnBottomTwo = new NormalViewControl(14, 6, true);
+ btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8);
+ btnBottomTwo.Y = btnBottomOne.Y;
+ btnBottomTwo.BackgroundColor = 0xffadc7f7;
+ btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottomTwo);
+ this.btnBottom3 = new NormalViewControl(14, 6, true);
+ btnBottom3.X = btnBottomTwo.Right + Application.GetRealWidth(8);
+ btnBottom3.Y = btnBottomTwo.Y;
+ btnBottom3.BackgroundColor = 0xffadc7f7;
+ btnBottom3.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottom3);
+ }
+ /// <summary>
+ /// 娣诲姞绗�3绱㈠紩椤�
+ /// </summary>
+ public void Add4Page()
+ {
+ this.InitFrameWhiteContent2();
+ this.InitFrameWhiteContent3();
+ this.InitFrameWhiteContent4();
+
+ //搴曢儴娣诲姞涓や釜鎸夐挳
+ this.btnBottomOne = new NormalViewControl(14, 6, true);
+ btnBottomOne.X = Application.GetRealWidth(150);
+ btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30);
+ btnBottomOne.BackgroundColor = CSS_Color.MainColor;
+ btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottomOne);
+ this.btnBottomTwo = new NormalViewControl(14, 6, true);
+ btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8);
+ btnBottomTwo.Y = btnBottomOne.Y;
+ btnBottomTwo.BackgroundColor = 0xffadc7f7;
+ btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottomTwo);
+ this.btnBottom3 = new NormalViewControl(14, 6, true);
+ btnBottom3.X = btnBottomTwo.Right + Application.GetRealWidth(8);
+ btnBottom3.Y = btnBottomTwo.Y;
+ btnBottom3.BackgroundColor = 0xffadc7f7;
+ btnBottom3.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottom3);
+ this.btnBottom4 = new NormalViewControl(14, 6, true);
+ btnBottom4.X = btnBottom3.Right + Application.GetRealWidth(8);
+ btnBottom4.Y = btnBottom3.Y;
+ btnBottom4.BackgroundColor = 0xffadc7f7;
+ btnBottom4.Radius = (uint)Application.GetRealHeight(6) / 2;
+ bodyFrameLayout.AddChidren(btnBottom4);
+ }
+
+
+ /// <summary>
+ /// 璁剧疆搴曢儴涓や釜鎸夐挳鐨勭姸鎬�
+ /// </summary>
+ private void SetBottomTwoButtonStatu()
+ {
+ if (this.btnBottomTwo == null) { return; }
+
+ if (this.pageLayout.PageIndex == 0)
+ {
+ this.btnBottomOne.BackgroundColor = CSS_Color.MainColor;
+ this.btnBottomTwo.BackgroundColor = 0xffadc7f7;
+ this.btnBottom3.BackgroundColor = 0xffadc7f7;
+ this.btnBottom4.BackgroundColor = 0xffadc7f7;
+ }
+ else if (this.pageLayout.PageIndex == 1)
+ {
+ this.btnBottomOne.BackgroundColor = 0xffadc7f7;
+ this.btnBottomTwo.BackgroundColor = CSS_Color.MainColor;
+ this.btnBottom3.BackgroundColor = 0xffadc7f7;
+ this.btnBottom4.BackgroundColor = 0xffadc7f7;
+ }
+ else if (this.pageLayout.PageIndex == 2)
+ {
+ this.btnBottomOne.BackgroundColor = 0xffadc7f7;
+ this.btnBottomTwo.BackgroundColor = 0xffadc7f7;
+ this.btnBottom3.BackgroundColor = CSS_Color.MainColor;
+ this.btnBottom4.BackgroundColor = 0xffadc7f7;
+ }
+ else if (this.pageLayout.PageIndex == 3)
+ {
+ this.btnBottomOne.BackgroundColor = 0xffadc7f7;
+ this.btnBottomTwo.BackgroundColor = 0xffadc7f7;
+ this.btnBottom4.BackgroundColor = CSS_Color.MainColor;
+ this.btnBottom3.BackgroundColor = 0xffadc7f7;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+ /// <summary>
+ /// 鐣岄潰鍏抽棴
+ /// </summary>
+ public override void CloseFormBefore()
+ {
+ base.CloseFormBefore();
+
+ this.SettionFinishEvent = null;
+ this.PageChangeEvent = null;
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ /// <summary>
+ /// 鑾峰彇澶撮儴鍙宠竟鐨勩�愯缃�戝浘鏍囨帶浠�
+ /// </summary>
+ /// <returns></returns>
+ public PicViewControl GetTopSettingIcon()
+ {
+ for (int i = 0; i < topFrameLayout.ChildrenCount; i++)
+ {
+ var myView = topFrameLayout.GetChildren(i);
+ if (myView == null || myView.Name != "btnSetting")
+ {
+ continue;
+ }
+ return myView as PicViewControl;
+ }
+ return null;
+ }
+
+ /// <summary>
+ /// 娣诲姞澶撮儴銆愯缃�戠殑鍥炬爣
+ /// </summary>
+ /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
+ /// <param name="btnHigherDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
+ private void AddTopSettingIcon(Button btnHigherDeviceName, Button btnHigherRoom)
+ {
+ //璁剧疆鍥炬爣(闂ㄩ攣鐣岄潰闇�瑕佸�熺敤杩欎釜鍥炬爣鐨刋杞村拰Y杞�,鎵�浠ュ姞杩涙潵)
+ var btnSetting = new PicViewControl(28, 28);
+ btnSetting.X = Application.GetRealWidth(337);
+ btnSetting.Y = Application.GetRealHeight(9);
+ btnSetting.UnSelectedImagePath = "Public/FuncInfoSetIcon.png";
+ btnSetting.Name = "btnSetting";
+ topFrameLayout.AddChidren(btnSetting);
+
+ //濡傛灉鏄垚鍛樻病鏈夊姛鑳�
+ if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == true)
+ {
+ btnSetting.Visible = false;
+ }
+
+ btnSetting.ButtonClickEvent += (sender, e) =>
+ {
+ var infoView = new UI.FunctionBaseInfoSetPage(this.device, () =>
+ {
+ //鍒锋柊鏄剧ず
+ btnHigherDeviceName.Text = this.device.name;
+ btnHigherRoom.Text = this.device.GetRoomListName();
+
+ //浠庢柊璁$畻瀹藉害
+ this.btnDeviceName.Text = btnHigherDeviceName.Text;
+ this.btnDeviceName.Width = this.btnDeviceName.GetRealWidthByText();
+
+ this.btnRoomName.Text = btnHigherRoom.Text;
+ this.btnRoomName.Width = this.btnRoomName.GetRealWidthByText();
+
+ //鍥炶皟浜嬩欢
+ this.SettionFinishEvent?.Invoke();
+ });
+ MainPage.BasePageView.AddChidren(infoView);
+ infoView.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ }
+
+ #endregion
+ }
+}
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index 8c52aca..4b8c43a 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -217,6 +217,7 @@
//etAccount.Text = "18316120654";//tujie
//etAccount.Text = "13450425807";//榛勭婧� knx椤圭洰
etAccount.Text = "18244942707";
+ etAccount.Text = "3083375423@qq.com";//闄堜紵娼� 鑷爺鍙瀵硅
}
else
{
@@ -244,6 +245,7 @@
//etAccount.Text = "info@smartlife-ks.com";
//etAccount.Text = "551775569@qq.com";//wcf
//etAccount.Text = "15626203746";
+ etAccount.Text = "18244942707";
//etAccount.Text = "zhangquansongjava@163.com";
//etAccount.Text = "s.savinov@hdlautomation.ru";
}
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 0bb4e7c..fc4e748 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -569,7 +569,7 @@
//FunctionList.List.Functions.Add(new Function
//{
- // name = "闂ㄩ攣",
+ // name = "娴嬭瘯闂ㄩ攣",
// spk = SPK.DoorLock,
// sid = "12345",
// attributes = new List<FunctionAttributes> {
@@ -626,18 +626,43 @@
// new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
// },
//});
+
FunctionList.List.Functions.Add(new Function()
{
- spk = SPK.SensorHelp,
- name = "娴嬭瘯绱ф�ユ眰鍔╂寜閽�",
+ spk = SPK.SensorPm25,
+ name = "娴嬭瘯Pm2.5",
attributes = new List<FunctionAttributes>()
{
- new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
- new FunctionAttributes(){ key = "battery_value",curValue= "2000",state = "2000" },
- new FunctionAttributes(){ key = "battery_percentage",curValue= "80",state = "80" },
- new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" },
+ new FunctionAttributes(){ key = "pm25",curValue= "70",state = "70" },
+ },
+ attrKeyConfigs = new List<AttrKeyConfig>()
+ {
+ new AttrKeyConfig (){
+ key = "pm2.5",
+ type = "interval" ,
+ unit = "ug/m虏",
+ configs = new List<AttrKeyInfo>(){
+ new AttrKeyInfo(){ start = "0",end = "75",color = "0xFFADE764", desc = "鑹ソ"},
+ new AttrKeyInfo(){ start = "76",end = "150",color = "0xFFFFD154",desc = "杞�/涓害姹℃煋"},
+ new AttrKeyInfo(){ start = "151",end = "500",color = "0xFFFF9D54",desc = "閲嶅害/涓ラ噸姹℃煋"},
+ }
+ }
},
});
+
+ //FunctionList.List.Functions.Add(new Function()
+ //{
+ // spk = SPK.SensorHelp,
+ // name = "娴嬭瘯绱ф�ユ眰鍔╂寜閽�",
+ // attributes = new List<FunctionAttributes>()
+ // {
+ // new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
+ // new FunctionAttributes(){ key = "alarm_status",curValue= "alarm",state = "alarm" },
+ // new FunctionAttributes(){ key = "battery_value",curValue= "200",state = "200" },
+ // new FunctionAttributes(){ key = "battery_percentage",curValue= "10",state = "10" },
+ // new FunctionAttributes(){ key = "battery_state",curValue= "low",state = "low" },
+ // },
+ //});
//FunctionList.List.Functions.Add(new Function()
//{
@@ -653,11 +678,23 @@
//{
// spk = SPK.AirFreshStandard,
// name = "娴嬭瘯鏂伴",
+ // sid = "098765433242342342",
// attributes = new List<FunctionAttributes>()
// {
// new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
// new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } },
// },
+ //});
+
+ //FunctionList.List.Functions.Add(new Function()
+ //{
+ // spk = SPK.PanelEnvironment,
+ // name = "娴嬭瘯鐜闈㈡澘",
+ // targetSids = new List<string> {
+ // "098765433242342342",
+ // "ac1",
+ // "floorheat1"
+ // }
//});
@@ -884,6 +921,7 @@
/// <summary>
/// 鍔犺浇璁惧鍔熻兘鏄剧ず鍖哄煙
+ /// Tag 鏀惰棌鍗$墖
/// </summary>
void LoadDeviceFunctionControlZone()
{
@@ -1097,6 +1135,7 @@
/// <summary>
/// 鍔犺浇鍔熻兘鎺у埗鍗$墖
+ /// Tag 鍗$墖鑷畾涔�
/// </summary>
void LoadDeviceFunctionDiv(FrameLayout view, Function function)
{
@@ -1311,6 +1350,11 @@
LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
}
+ //绱ф�ユ眰鍔�
+ else if (function.spk == SPK.SensorHelp)
+ {
+
+ }
else
{
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index c049ebd..b269c83 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -647,6 +647,7 @@
var functionCategoryCount = 0;
+ //Tag 鍒嗙被鍗$墖鏄剧ず
foreach (var item in DB_ResidenceData.Instance.functionTypeList)
{
int functionCount = 0;
@@ -709,8 +710,7 @@
#endif
break;
case ShowFunction.Panel:
-
-
+ functionCount = FunctionList.List.GetPanelList().Count;
break;
case ShowFunction.SecurityMonitoring:
if (!MainPage.NoLoginMode)
@@ -790,37 +790,56 @@
};
functionView.AddChidren(btnName);
+ //Tag 鏁伴噺鏄剧ず
if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
&& item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music
&& item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
&& functionCount != 0)
{
- Button btnFunctionCount = new Button()
+ if (item == ShowFunction.Panel)
{
- X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
- Y = btnName.Bottom,
- Width = Application.GetRealWidth(120),
- Height = Application.GetRealHeight(24),
- TextColor = CSS_Color.PromptingColor1,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextAlignment = TextAlignment.CenterLeft,
- Text = "/" + functionCount,
- };
- functionView.AddChidren(btnFunctionCount);
- Button btnOpenCount = new Button()
+ Button btnFunctionCount = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(120),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = functionCount.ToString(),
+ };
+ functionView.AddChidren(btnFunctionCount);
+ }
+ else
{
- X = Application.GetRealWidth(16),
- Y = btnName.Bottom,
- Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
- Height = Application.GetRealHeight(24),
- TextColor = CSS_Color.MainColor,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextAlignment = TextAlignment.CenterLeft,
- Text = functionOnCount.ToString(),
- Tag = item + "_onCount",
- BorderWidth = 0,
- };
- functionView.AddChidren(btnOpenCount);
+ Button btnFunctionCount = new Button()
+ {
+ X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(120),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = "/" + functionCount,
+ };
+ functionView.AddChidren(btnFunctionCount);
+ Button btnOpenCount = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = functionOnCount.ToString(),
+ Tag = item + "_onCount",
+ BorderWidth = 0,
+ };
+ functionView.AddChidren(btnOpenCount);
+ }
}
@@ -832,6 +851,7 @@
};
functionView.AddChidren(btnFunctionViewBg);
+ //Tag 璋冭瘯浜嬩欢鍒ゆ柇
int functionPageTitleId = 0;
switch (item)
{
@@ -1024,7 +1044,8 @@
};
break;
case ShowFunction.Panel:
- btnName.TextID = StringId.Panel;
+ btnName.TextID = StringId.SmartPanel;
+ functionPageTitleId = StringId.SmartPanel;
break;
case ShowFunction.SecurityMonitoring:
btnName.TextID = StringId.SecurityMonitoring;
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index aa40d9a..92fea27 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -54,6 +54,7 @@
/// <summary>
/// 鍔犺浇鍔熻兘绫诲瀷鎺у埗鍗$墖
+ /// Tag 鍔熻兘灞炴�ф樉绀�
/// </summary>
public void LoadFunctionDiv()
{
@@ -76,8 +77,7 @@
{//闊充箰娌℃湁寮�鍏虫寜閽�
MusicFragment();
}
- else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk)
- || SPK.PanelSpkList().Contains(function.spk)) //浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�)
+ else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk)) //浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�)
{
var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
if (powerLowTipAttr != null)
@@ -101,6 +101,178 @@
{
btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png";
}
+ else if(SPK.PanelSpkList().Contains(function.spk))//鏅鸿兘闈㈡澘璁惧
+ {
+ var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
+ if (powerLowTipAttr != null)
+ {
+ if (powerLowTipAttr.state.ToLower() == "low")
+ {
+ Button btnTipPowerLow = new Button()
+ {
+ X = Application.GetRealWidth(307),
+ Y = Application.GetRealHeight(70),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
+ SelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
+ };
+ this.AddChidren(btnTipPowerLow);
+ }
+ }
+ var alarmStatusAttr = function.GetAttribute("alarm_status");
+ if(alarmStatusAttr !=null)
+ {
+ var btnAlarmStatus = new Button()
+ {
+ X = Application.GetRealWidth(8 + 10 + 32),
+ Y = Application.GetRealHeight(53),
+ Width = Application.GetRealWidth(200),
+ Height = Application.GetRealHeight(24),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ Tag = "AlarmStatus"
+ };
+ if (alarmStatusAttr.state == "alarm")
+ {
+ btnAlarmStatus.TextID = StringId.InAlarm;
+ btnAlarmStatus.TextColor = CSS_Color.WarningColor;
+ }
+ else
+ {
+ btnAlarmStatus.TextID = StringId.zhengchang;
+ btnAlarmStatus.TextColor = CSS_Color.MainColor;
+ }
+
+ bodyDiv.AddChidren(btnAlarmStatus);
+ }
+
+ //var tipScrView1 = new HorizontalScrolViewLayout() {
+ // X = Application.GetRealWidth(10),
+ // Y = Application.GetRealHeight(56),
+ // Height = Application.GetRealHeight(20),
+ // Width = Application.GetRealWidth(330),
+ // BackgroundColor = 0x22220022,
+ //};
+ //var tipScrView2 = new HorizontalScrolViewLayout()
+ //{
+ // X = Application.GetRealWidth(10),
+ // Y = Application.GetRealHeight(83),
+ // Height = Application.GetRealHeight(20),
+ // Width = Application.GetRealWidth(330),
+ // BackgroundColor = 0x22220022,
+ //};
+
+
+ foreach (var target in function.targetSids)
+ {
+ //bodyDiv.AddChidren(tipScrView1);
+ //bodyDiv.AddChidren(tipScrView2);
+ var targetObj = FunctionList.List.Functions.Find((obj) => target == obj.sid);
+ if(targetObj == null)
+ {
+ continue;
+ }
+ if (SPK.AcSpkList().Contains(targetObj.spk))
+ {
+ bodyDiv.Height = Application.GetRealHeight(126);
+
+ AC acDevice = new AC();
+ var btnAcMode = new Button()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(56),
+ Width = Application.GetRealWidth(62),
+ Height = Application.GetRealHeight(19),
+ BackgroundColor = 0x334484F4,
+ TextAlignment = TextAlignment.Center,
+ TextSize = 10,
+ TextColor = 0xFF4484F4,
+ Text = Language.StringByID(StringId.AC) + acDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)),
+ Tag = target + "screen.panel.ac.mode",
+ Radius = (uint)Application.GetRealWidth(4),
+ };
+ bodyDiv.AddChidren(btnAcMode);
+ //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(16)});
+
+ var btnAcTemp = new Button()
+ {
+ X = Application.GetRealWidth(10 + 72),
+ Y = Application.GetRealHeight(56),
+ Width = Application.GetRealWidth(62),
+ Height = Application.GetRealHeight(19),
+ BackgroundColor = 0x334484F4,
+ TextAlignment = TextAlignment.Center,
+ TextSize = 10,
+ TextColor = 0xFF4484F4,
+ Text = Language.StringByID(StringId.AC) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "掳C",
+ Radius = (uint)Application.GetRealWidth(4),
+ Tag = target + "screen.panel.ac.temp"
+ };
+ bodyDiv.AddChidren(btnAcTemp);
+ //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
+ }
+ else if (SPK.FhSpkList().Contains(targetObj.spk))
+ {
+
+ FloorHeating fhDevice = new FloorHeating();
+ var btnFhMode = new Button()
+ {
+ X = Application.GetRealWidth(10 + 72*2),
+ Y = Application.GetRealHeight(56),
+ Radius = (uint)Application.GetRealWidth(4),
+ Width = Application.GetRealWidth(62),
+ Height = Application.GetRealHeight(19),
+ BackgroundColor = 0x33ff9d54,
+ TextAlignment = TextAlignment.Center,
+ TextSize = 10,
+ TextColor = 0xFFff9d54,
+ Text = Language.StringByID(StringId.FloorHeating) + fhDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)),
+ Tag = target + "screen.panel.fh.mode"
+ };
+ bodyDiv.AddChidren(btnFhMode);
+ //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
+
+ var btnFhTemp = new Button()
+ {
+ X = Application.GetRealWidth(10 + 72 * 3),
+ Y = Application.GetRealHeight(56),
+ Radius = (uint)Application.GetRealWidth(4),
+ Width = Application.GetRealWidth(62),
+ Height = Application.GetRealHeight(19),
+ BackgroundColor = 0x33ff9d54,
+ TextAlignment = TextAlignment.Center,
+ TextSize = 10,
+ TextColor = 0xFFff9d54,
+ Text = Language.StringByID(StringId.FloorHeating) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "掳C",
+ Tag = target + "screen.panel.fh.temp"
+ };
+ bodyDiv.AddChidren(btnFhTemp);
+ //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
+ }
+ else if (SPK.AirFreshSpkList().Contains(targetObj.spk))
+ {
+
+ AC acDevice = new AC();
+ var btnAirFreshFanSpeed = new Button()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(83),
+ Width = Application.GetRealWidth(62),
+ Height = Application.GetRealHeight(19),
+ BackgroundColor = 0x3309bb07,
+ TextAlignment = TextAlignment.Center,
+ TextSize = 10,
+ TextColor = 0xFF09bb07,
+ Radius = (uint)Application.GetRealWidth(4),
+ Text = Language.StringByID(StringId.AirFresh) + acDevice.GetFanAttrText(targetObj.GetAttrState(FunctionAttributeKey.FanSpeed)),
+ Tag = target + "screen.panel.airFresh.mode"
+ };
+ bodyDiv.AddChidren(btnAirFreshFanSpeed);
+ }
+ }
+
+ }
else
{
if (function.spk == SPK.ClothesHanger)//鏅捐。鏋�
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
index 9418e78..624ea5d 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -114,6 +114,7 @@
};
bodyView.AddChidren(functionListView);
+ //Tag 鏄剧ず鍒楄〃
if (titleId == StringId.Lights)
{
functionList.AddRange(FunctionList.List.GetLightList());
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
index ee6432c..6edd835 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -993,7 +993,9 @@
})
{ IsBackground = true }.Start();
}
- catch { }
+ catch (Exception ex) {
+ MainPage.Log("涓婁紶鍥剧墖寮傚父锛�" + ex.Message);
+ }
}
}
}
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
index 703cb02..b4008c8 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -928,7 +928,7 @@
#endif
#endregion
- #region 鑾峰彇鏀寔
+ //#region 鑾峰彇鏀寔
//FrameLayout supView = new FrameLayout()
//{
// Height = Application.GetRealWidth(44),
@@ -1022,7 +1022,7 @@
// BackgroundColor = CSS_Color.DividingLineColor
//};
//supView.AddChidren(btnSupportViewLine);
- #endregion
+ //#endregion
#region 鍏充簬On Pro
FrameLayout aboutView = new FrameLayout()
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
index a4aefbd..22ddee1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
@@ -719,13 +719,13 @@
this.btnMode2.CanClick = this.airFreshData.Open;
//椋庨��
- if (this.airFreshData.Fan == "level_3")
+ if (this.airFreshData.Fan == "level_3" || this.airFreshData.Fan == "high")
{
this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan3.png";
this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan3Select.png";
this.btnFanView.Text = this.dicText["3妗�"];
}
- else if(this.airFreshData.Fan == "level_2")
+ else if(this.airFreshData.Fan == "level_2" || this.airFreshData.Fan == "medium")
{
this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan2.png";
this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan2Select.png";
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
index ca2a6d6..90fea50 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
@@ -109,15 +109,15 @@
{ IsBackground = true }.Start();
};
- //鍒锋柊鐣岄潰鐘舵��
- this.RefreshFormStatu();
-
if (fanSpeedList.Count > 0)
{
this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan1.png";
this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan1Select.png";
this.btnFanView.Text = Language.StringByID(StringId.LowWindSpeed);
}
+ //鍒锋柊鐣岄潰鐘舵��
+ this.RefreshFormStatu();
+
}
#endregion
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
index 71f5518..4553294 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
@@ -109,6 +109,7 @@
//var opString = brokenLine.InitOption();
// myEchartsView_Line.ShowWithOption(opString);
+
#endif
LoadMothed_GetHistoryData();
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
index e1dd248..7f04f4e 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
@@ -145,7 +145,7 @@
{
continue;
}
- if (!string.IsNullOrEmpty(roomId) && roomId == "ALLSELECT")
+ if (!string.IsNullOrEmpty(roomId) && roomId != "ALLSELECT")
{
if (!function.roomIds.Contains(roomId))
{
@@ -172,7 +172,7 @@
{
continue;
}
- if (!string.IsNullOrEmpty(roomId))
+ if (!string.IsNullOrEmpty(roomId) && roomId != "ALLSELECT")
{
if (!scene.roomIds.Contains(roomId))
{
@@ -202,121 +202,131 @@
void LoadFunctionListRow()
{
functionListView.RemoveAll();
- foreach (var function in allocatedList)
+ new System.Threading.Thread(() =>
{
- //var output = alarm.output.Find((obj) => obj.sid == function.sid);
- //if (output == null)
- //{
- // output = new SecurityOutput();
- // output.sid = function.sid;
- //}
-
- FrameLayout functionRow = new FrameLayout()
+ System.Threading.Thread.Sleep(50);
+ Application.RunOnMainThread(() =>
{
- Height = Application.GetRealHeight(65),
- BackgroundColor = CSS_Color.MainBackgroundColor,
- };
- functionListView.AddChidren(functionRow);
- var btnFunctionName = new Button()
- {
- X = Application.GetRealWidth(16),
- Width = Application.GetRealWidth(200),
- Height = Application.GetRealHeight(44),
- Text = function.name,
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- };
- functionRow.AddChidren(btnFunctionName);
-
- var btnFunctionFloorName = new Button()
- {
- X = Application.GetRealWidth(16),
- Y = Application.GetRealHeight(24),
- Width = Application.GetRealWidth(200),
- Height = Application.GetRealHeight(41),
- Text = function.RoomName,
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.PromptingColor1,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- };
- functionRow.AddChidren(btnFunctionFloorName);
-
- Button btnState = new Button()
- {
- Width = Application.GetRealWidth(317),
- TextAlignment = TextAlignment.CenterRight,
- TextSize = CSS_FontSize.TextFontSize,
- TextColor = CSS_Color.PromptingColor1,
- Text = function.StateText()
- };
- functionRow.AddChidren(btnState);
-
- Button btnChooseIcon = new Button()
- {
- X = Application.GetRealWidth(333),
- Gravity = Gravity.CenterVertical,
- Width = Application.GetMinRealAverage(32),
- Height = Application.GetMinRealAverage(32),
- UnSelectedImagePath = "Public/ChooseIcon.png",
- SelectedImagePath = "Public/ChooseOnIcon.png",
- };
- functionRow.AddChidren(btnChooseIcon);
-
- btnChooseIcon.MouseUpEventHandler = (sender, e) => {
- btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
- var tempLocal = alarm.output.Find((obj) =>
- obj.sid == function.sid
- );
- //if (tempLocal == null && !string.IsNullOrEmpty(output.spk))
- //{
- // ShowStateDialog(output, btnState, btnChooseIcon);
- //}
- if (btnChooseIcon.IsSelected)
+ foreach (var function in allocatedList)
{
- if (tempLocal == null)
- alarm.output.Add(function);
- ShowStateDialog(function, btnState, btnChooseIcon);
- }
- else
- {
- if (tempLocal != null)
+ //var output = alarm.output.Find((obj) => obj.sid == function.sid);
+ //if (output == null)
+ //{
+ // output = new SecurityOutput();
+ // output.sid = function.sid;
+ //}
+
+ FrameLayout functionRow = new FrameLayout()
{
- alarm.output.Remove(function);
+ Height = Application.GetRealHeight(65),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
+ functionListView.AddChidren(functionRow);
+
+ var btnFunctionName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(200),
+ Height = Application.GetRealHeight(44),
+ Text = function.name,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ functionRow.AddChidren(btnFunctionName);
+
+ var btnFunctionFloorName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(24),
+ Width = Application.GetRealWidth(200),
+ Height = Application.GetRealHeight(41),
+ Text = function.RoomName,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ };
+ functionRow.AddChidren(btnFunctionFloorName);
+
+ Button btnState = new Button()
+ {
+ Width = Application.GetRealWidth(317),
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.PromptingColor1,
+ Text = function.StateText()
+ };
+ functionRow.AddChidren(btnState);
+
+ Button btnChooseIcon = new Button()
+ {
+ X = Application.GetRealWidth(333),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetMinRealAverage(32),
+ Height = Application.GetMinRealAverage(32),
+ UnSelectedImagePath = "Public/ChooseIcon.png",
+ SelectedImagePath = "Public/ChooseOnIcon.png",
+ };
+ functionRow.AddChidren(btnChooseIcon);
+
+ btnChooseIcon.MouseUpEventHandler = (sender, e) =>
+ {
+ btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
+ var tempLocal = alarm.output.Find((obj) =>
+ obj.sid == function.sid
+ );
+ //if (tempLocal == null && !string.IsNullOrEmpty(output.spk))
+ //{
+ // ShowStateDialog(output, btnState, btnChooseIcon);
+ //}
+ if (btnChooseIcon.IsSelected)
+ {
+ if (tempLocal == null)
+ alarm.output.Add(function);
+ ShowStateDialog(function, btnState, btnChooseIcon);
+ }
+ else
+ {
+ if (tempLocal != null)
+ {
+ alarm.output.Remove(function);
+ }
+ }
+ };
+ btnState.MouseUpEventHandler = (sender, e) =>
+ {
+ btnChooseIcon.IsSelected = true;
+ var tempLocal = alarm.output.Find((obj) =>
+ obj.sid == function.sid
+ );
+ if (tempLocal == null)
+ alarm.output.Add(function);
+ ShowStateDialog(function, btnState, btnChooseIcon);
+ };
+
+ var localOutput = alarm.output.Find((obj) => obj.sid == function.sid);
+
+ if (localOutput != null)
+ {
+ btnChooseIcon.IsSelected = true;
+ btnState.Text = function.StateText();
}
+
+
+ functionListView.AddChidren(new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealWidth(1),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ });
+
+
}
- };
- btnState.MouseUpEventHandler = (sender, e) =>
- {
- btnChooseIcon.IsSelected = true;
- var tempLocal = alarm.output.Find((obj) =>
- obj.sid == function.sid
- );
- if (tempLocal == null)
- alarm.output.Add(function);
- ShowStateDialog(function, btnState, btnChooseIcon);
- };
- var localOutput = alarm.output.Find((obj) => obj.sid == function.sid);
-
- if (localOutput != null)
- {
- btnChooseIcon.IsSelected = true;
- btnState.Text = function.StateText();
- }
-
-
- functionListView.AddChidren(new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(1),
- BackgroundColor = CSS_Color.DividingLineColor,
});
-
-
- }
+ }).Start();
}
@@ -471,7 +481,8 @@
var form = new FloorRoomSelectPopupView();
form.ShowDeviceFunctionView(btnFloor, listAllFun, (selectId, listFun) =>
{
- SetData(selectId);
+ var selecteRoom = SpatialInfo.CurrentSpatial.RoomList.Find((obj) => obj.uid == selectId);
+ SetData(selecteRoom.roomId);
//閲嶆柊鍒锋柊璁惧鍒楄〃
this.LoadFunctionListRow();
}, nowSelectId);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs
index 5ca7239..5e78767 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs
@@ -32,7 +32,7 @@
VerticalScrolViewLayout histroyView = new VerticalScrolViewLayout()
{
Y = btnTitle.Bottom,
- Height = Application.GetRealHeight(450),
+ Height = Application.GetRealHeight(0),
};
FrameWhiteCentet2.AddChidren(histroyView);
@@ -53,6 +53,14 @@
Application.RunOnMainThread(() =>
{
var startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯
+ if (revData.list.Count > 9)
+ {
+ histroyView.Height = Application.GetRealHeight(450);
+ }
+ else
+ {
+ histroyView.Height = Application.GetRealHeight(50*revData.list.Count);
+ }
foreach (var data in revData.list)
{
var yearString = startTime.AddMilliseconds(Convert.ToDouble(data.createTime)).ToString("yyyy") + Language.StringByID(StringId.Years);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs b/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs
new file mode 100644
index 0000000..1bb8cbf
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs
@@ -0,0 +1,1110 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DriverLayer;
+using HDL_ON.Entity;
+using HDL_ON.Stan;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI.UI2.FuntionControlView.Panel
+{
+ public class AcContentView : FrameLayout
+ {
+
+ #region 鈻� 鍙橀噺澹版槑___________________________
+ /// <summary>
+ /// 绌鸿皟娓╁害鎺у埗鎺т欢
+ /// </summary>
+ DiyArcSeekBar arcBar;
+ /// <summary>
+ /// 鍑忓彿鎸夐挳
+ /// </summary>
+ Button btnMinus;
+ /// <summary>
+ /// 鍔犲彿鎸夐挳
+ /// </summary>
+ Button btnPlus;
+ /// <summary>
+ /// 娓╁害鎸夐挳
+ /// </summary>
+ Button btnTemp;
+ Button btnTempUint;
+ /// <summary>
+ /// 瀹ゅ唴娓╁害鎸夐挳
+ /// </summary>
+ Button btnIndoorTemp;
+ /// <summary>
+ /// 妯″紡鎸夐挳
+ /// </summary>
+ Button btnMode;
+ /// <summary>
+ /// 鎵鎸夐挳
+ /// </summary>
+ Button btnSwing;
+ /// <summary>
+ /// 椋庨�熸寜閽�
+ /// </summary>
+ Button btnWindSpeed;
+ /// <summary>
+ /// 寮�鍏虫寜閽�
+ /// </summary>
+ Button btnSwitch;
+
+ AC acFunction = new AC();
+
+ /// <summary>
+ /// 鎺у埗鏃堕棿
+ /// </summary>
+ DateTime controlTime = DateTime.MinValue.AddDays(10);
+ /// <summary>
+ /// 鎺у埗娓╁害
+ /// </summary>
+ int temp = 16;
+
+ #endregion
+ Function device;
+ public AcContentView(Function function)
+ {
+ device = function;
+
+ var sk = device.GetAttribute(FunctionAttributeKey.SetTemp);
+ if (sk != null)
+ {
+ if (sk.min == 0)
+ {
+ sk.min = 16;
+ }
+ if (sk.max == 0)
+ {
+ sk.max = 32;
+ }
+ }
+
+ }
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
+ /// </summary>
+ public void InitContent(bool initStandard = true)
+ {
+ if (initStandard)
+ {
+ //璁惧鍚嶅瓧
+ var btnDeviceName = new NormalViewControl(270, 37, true);
+ btnDeviceName.X = Application.GetRealWidth(16);
+ btnDeviceName.Y = Application.GetRealHeight(18);
+ btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor;
+ btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel;
+ btnDeviceName.Text = device.name;
+ btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
+ AddChidren(btnDeviceName);
+ //鎴块棿鍚嶅瓧
+ var btnRoomName = new NormalViewControl(270, 21, true);
+ btnRoomName.X = Application.GetRealWidth(16);
+ btnRoomName.Y = btnDeviceName.Bottom;
+ btnRoomName.TextColor = CSS_Color.PromptingColor1;
+ btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
+ btnRoomName.Text = device.GetRoomListName();
+ btnRoomName.Width = btnRoomName.GetRealWidthByText();
+ AddChidren(btnRoomName);
+
+ }
+
+ //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ this.InitFrameWhiteContent();
+
+ //鍒锋柊鐣岄潰鐘舵��
+ this.RefreshFormStatu();
+ //璇诲彇鐘舵��
+ new System.Threading.Thread(() =>
+ {
+ while (true)
+ {
+ if (controlTime == DateTime.MinValue)
+ {
+
+ }
+ else if (controlTime.AddSeconds(2) < DateTime.Now)
+ {
+ Control.Ins.SendReadCommand(device);
+ controlTime = DateTime.MinValue;
+ }
+ System.Threading.Thread.Sleep(1000);
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ /// </summary>
+ private void InitFrameWhiteContent()
+ {
+ temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
+ arcBar = new DiyArcSeekBar()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ OpenAngle = 160,
+ ThumbImageHeight = Application.GetRealWidth(50),
+ ProgressBarColor = CSS_Color.MainColor,
+ OfflineProgressBarColor = CSS_Color.PromptingColor2,
+ ArcColor = CSS_Color.BackgroundColor,
+#if __IOS__
+ Y = Application.GetRealHeight(120 + 25),
+ Width = Application.GetRealWidth(260 - 40),
+ Height = Application.GetRealWidth(260 - 40),
+ SeekBarPadding = Application.GetRealWidth(8),
+#else
+ Y = Application.GetRealHeight(120 + 40),
+ Width = Application.GetRealWidth(260 - 40),
+ Height = Application.GetRealWidth(260 - 40),
+ SeekBarPadding = Application.GetRealWidth(7),
+#endif
+
+ };
+ this.AddChidren(arcBar);
+
+
+ arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
+ arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
+ arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
+ arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
+ arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
+
+ btnTemp = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(206),
+ Width = Application.GetRealWidth(71),
+ Height = Application.GetRealWidth(60),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = 50,
+ IsBold = true,
+ Text = Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")).ToString(),
+ TextAlignment = TextAlignment.Center,
+ };
+ this.AddChidren(btnTemp);
+
+ btnTempUint = new Button()
+ {
+ X = btnTemp.Right,
+ Y = btnTemp.Y,
+ Width = Application.GetRealWidth(30),
+ Height = Application.GetRealHeight(30),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ IsBold = true,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = "掳C",
+ };
+ this.AddChidren(btnTempUint);
+
+ btnIndoorTemp = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnTemp.Bottom,
+ Width = Application.GetRealWidth(120),
+ Height = Application.GetRealHeight(20),
+ Text = Language.StringByID(StringId.IndoorTemp) + "20掳C",
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ this.AddChidren(btnIndoorTemp);
+
+ btnMinus = new Button()
+ {
+ X = Application.GetRealWidth(21),
+ Y = Application.GetRealHeight(263),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ UnSelectedImagePath = "Public/MinusSignIcon.png",
+ };
+ this.AddChidren(btnMinus);
+
+ btnPlus = new Button()
+ {
+ X = Application.GetRealWidth(275),
+ Y = Application.GetRealHeight(263),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ UnSelectedImagePath = "Public/PlusSignIcon.png",
+ };
+ this.AddChidren(btnPlus);
+
+ btnMode = new Button()
+ {
+ X = Application.GetRealWidth(60),
+ Y = Application.GetRealHeight(334),
+ Width = Application.GetRealWidth(30),
+ Height = Application.GetRealWidth(30),
+ UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)),
+ };
+ this.AddChidren(btnMode);
+
+
+ btnSwing = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(330),
+ Width = Application.GetRealWidth(40),
+ Height = Application.GetRealWidth(40),
+ UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png",
+ };
+ if (device.GetAttribute(FunctionAttributeKey.Swing) != null)
+ {
+ this.AddChidren(btnSwing);
+ }
+
+
+ btnWindSpeed = new Button()
+ {
+ X = Application.GetRealWidth(235),
+ Y = Application.GetRealHeight(337),
+ Width = Application.GetRealWidth(30),
+ Height = Application.GetRealWidth(30),
+ UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)),
+ };
+ this.AddChidren(btnWindSpeed);
+
+ btnSwitch = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(466),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ UnSelectedImagePath = "Public/PowerClose.png",
+ SelectedImagePath = "Public/PowerOpen.png",
+ IsSelected = device.GetAttrState(FunctionAttributeKey.OnOff) == "on"
+ };
+ this.AddChidren(btnSwitch);
+
+ LoadEvent_TempChange();
+ LoadEvent_AcStatesChange();
+
+ LoadDiv_IrView();
+ }
+
+ /// <summary>
+ /// 鍔犺浇淇敼妯″紡鍖哄煙
+ /// </summary>
+ void LoadDiv_ChangeModeView()
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout dialogView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ dialog.AddChidren(dialogView);
+
+ FrameLayout modeChangeView;
+ modeChangeView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(30),
+ Y = Application.GetRealHeight(128),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(287),
+ BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
+ };
+ dialogView.AddChidren(modeChangeView);
+
+ Button btnTitle;
+ btnTitle = new Button()
+ {
+ X = Application.GetRealWidth(8 + 16),
+ Y = Application.GetRealHeight(8),
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(44),
+ TextID = StringId.ChooseMode,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ };
+ modeChangeView.AddChidren(btnTitle);
+
+ Button btnLine = new Button()
+ {
+ X = btnTitle.X,
+ Y = btnTitle.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ };
+ modeChangeView.AddChidren(btnLine);
+
+ var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value;
+ foreach (var m in modeList)
+ {
+ Button btnModeIcon = new Button()
+ {
+ X = btnTitle.X,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
+ };
+ modeChangeView.AddChidren(btnModeIcon);
+
+ Button btnModeText = new Button()
+ {
+ X = Application.GetRealWidth(12) + btnModeIcon.Right,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
+ Height = Application.GetRealHeight(44),
+ Width = Application.GetRealWidth(90),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ modeChangeView.AddChidren(btnModeText);
+
+ btnModeIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m, false);
+ btnModeIcon.SelectedImagePath = acFunction.GetModeIconPath(m);
+ btnModeText.Text = acFunction.GetModeAttrText(m);
+
+ if (modeList.IndexOf(m) < modeList.Count - 1)
+ {
+ modeChangeView.AddChidren(new Button()
+ {
+ X = btnTitle.X,
+ Y = btnModeText.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ });
+ }
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ btnModeIcon.IsSelected = btnModeText.IsSelected = true;
+ device.SetAttrState(FunctionAttributeKey.Mode, m);
+ btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m);
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.Mode, m);
+ Control.Ins.SendWriteCommand(device, d);
+ dialog.Close();
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ arcBar.IsClickable = false;
+ arcBar.IsOffline = true;
+ }
+ else
+ {
+ arcBar.IsOffline = false;
+ arcBar.IsClickable = true;
+ }
+ };
+ btnModeIcon.MouseUpEventHandler = eventHandler1;
+ btnModeText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = eventHandler;
+
+ }
+
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+ dialog.Show();
+ }
+
+ /// <summary>
+ /// 鍔犺浇淇敼鎵妯″紡鍖哄煙
+ /// </summary>
+ void LoadDiv_ChangeSwingView()
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout dialogView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ dialog.AddChidren(dialogView);
+
+ FrameLayout modeChangeView;
+ modeChangeView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(128),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(287),
+ BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
+ };
+ dialogView.AddChidren(modeChangeView);
+
+ Button btnTitle;
+ btnTitle = new Button()
+ {
+ X = Application.GetRealWidth(8 + 16),
+ Y = Application.GetRealHeight(8),
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(44),
+ TextID = StringId.Swing,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ };
+ modeChangeView.AddChidren(btnTitle);
+
+ Button btnLine = new Button()
+ {
+ X = btnTitle.X,
+ Y = btnTitle.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ };
+ modeChangeView.AddChidren(btnLine);
+
+ var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value;
+ foreach (var m in modeList)
+ {
+ Button btnModeIcon = new Button()
+ {
+ X = btnTitle.X,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
+ };
+ modeChangeView.AddChidren(btnModeIcon);
+
+ Button btnModeText = new Button()
+ {
+ X = Application.GetRealWidth(12) + btnModeIcon.Right,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
+ Height = Application.GetRealHeight(44),
+ Width = Application.GetRealWidth(90),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ modeChangeView.AddChidren(btnModeText);
+
+ if (modeList.IndexOf(m) < modeList.Count - 1)
+ {
+ modeChangeView.AddChidren(new Button()
+ {
+ X = btnTitle.X,
+ Y = btnModeText.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ });
+ }
+
+ btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false);
+ btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m);
+ btnModeText.Text = acFunction.GetSwingAttrText(m);
+
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ btnModeIcon.IsSelected = btnModeText.IsSelected = true;
+ device.SetAttrState(FunctionAttributeKey.Swing, m);
+ btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m);
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.Swing, m);
+ Control.Ins.SendWriteCommand(device, d);
+ dialog.Close();
+ };
+ btnModeIcon.MouseUpEventHandler = eventHandler1;
+ btnModeText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = eventHandler;
+
+ }
+
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+ dialog.Show();
+ }
+ /// <summary>
+ /// 鍔犺浇淇敼妯″紡鍖哄煙
+ /// </summary>
+ void LoadDiv_ChangeFanView()
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout dialogView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ dialog.AddChidren(dialogView);
+
+ FrameLayout modeChangeView;
+ modeChangeView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(185),
+ Y = Application.GetRealHeight(172),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(243),
+ BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
+ };
+ dialogView.AddChidren(modeChangeView);
+
+ Button btnTitle;
+ btnTitle = new Button()
+ {
+ X = Application.GetRealWidth(8 + 16),
+ Y = Application.GetRealHeight(8),
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(44),
+ TextID = StringId.ChooseFan,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ };
+ modeChangeView.AddChidren(btnTitle);
+
+ Button btnLine = new Button()
+ {
+ X = btnTitle.X,
+ Y = btnTitle.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ };
+ modeChangeView.AddChidren(btnLine);
+
+ var modeList = device.GetAttribute(FunctionAttributeKey.FanSpeed).value;
+ foreach (var m in modeList)
+ {
+ Button btnFanIcon = new Button()
+ {
+ X = btnTitle.X,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m,
+ };
+ modeChangeView.AddChidren(btnFanIcon);
+
+ Button btnFanText = new Button()
+ {
+ X = Application.GetRealWidth(12) + btnFanIcon.Right,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
+ Height = Application.GetRealHeight(44),
+ Width = Application.GetRealWidth(70),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ modeChangeView.AddChidren(btnFanText);
+ btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m, false);
+ btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m);
+ btnFanText.Text = acFunction.GetFanAttrText(m);
+
+ if (modeList.IndexOf(m) < modeList.Count - 1)
+ {
+ modeChangeView.AddChidren(new Button()
+ {
+ X = btnTitle.X,
+ Y = btnFanText.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ });
+ }
+
+ EventHandler<MouseEventArgs> closeDialogEvent = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ btnFanIcon.IsSelected = btnFanText.IsSelected = true;
+ device.SetAttrState(FunctionAttributeKey.FanSpeed, m);
+ btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(m);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.FanSpeed, m);
+ Control.Ins.SendWriteCommand(device, d);
+ //btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
+ dialog.Close();
+ };
+ btnFanIcon.MouseUpEventHandler = eventHandler1;
+ btnFanText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = closeDialogEvent;
+ }
+
+ dialog.Show();
+ }
+
+ /// <summary>
+ /// 鍔犺浇绾㈠閬ユ帶鍣紝棰濆鎸夐挳
+ /// </summary>
+ void LoadDiv_IrView()
+ {
+ if (device.spk == SPK.AcIr)
+ {
+ var btnMore = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(334 + 80),
+ Width = Application.GetRealWidth(35),
+ Height = Application.GetRealWidth(35),
+ UnSelectedImagePath = "FunctionIcon/AC/More.png",
+ };
+ this.AddChidren(btnMore);
+
+ btnMore.MouseUpEventHandler = (sender, e) => {
+ LoadDialog_IrMoreView();
+ };
+ }
+ }
+
+ /// <summary>
+ /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈�
+ /// </summary>
+ void LoadDialog_IrMoreView()
+ {
+ Dialog dialog = new Dialog();
+
+ var div = new FrameLayout();
+ dialog.AddChidren(div);
+ div.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+
+ var bodyView = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(427),//667
+ Height = Application.GetRealHeight(240),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
+ div.AddChidren(bodyView);
+
+ var contentView = new VerticalScrolViewLayout()
+ {
+ Y = Application.GetRealHeight(16),
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(296 + 200),
+ };
+ bodyView.AddChidren(contentView);
+
+
+ var row = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(60),
+ Width = Application.GetRealWidth(296),
+ Gravity = Gravity.CenterHorizontal,
+ };
+ contentView.AddChidren(row);
+
+ int index = 0;
+ List<FunctionAttributes> attrList = new List<FunctionAttributes>();
+ attrList.AddRange(device.attributes);
+ attrList.Add(new FunctionAttributes()
+ {
+ key = "+",
+ });
+
+ foreach (var attr in attrList)
+ {
+ if (attr.key == FunctionAttributeKey.Mode
+ || attr.key == FunctionAttributeKey.OnOff
+ || attr.key == FunctionAttributeKey.SetTemp
+ || attr.key == FunctionAttributeKey.SetTempStep
+ || attr.key == FunctionAttributeKey.FanSpeed
+ || attr.key == FunctionAttributeKey.FanManual
+ || attr.key == FunctionAttributeKey.FanAuto
+ )
+ {
+ continue;
+ }
+ if (index != 0 && index % 3 == 0)
+ {
+ row = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(56),
+ Width = Application.GetRealWidth(296),
+ Gravity = Gravity.CenterHorizontal,
+ };
+ contentView.AddChidren(row);
+ }
+ if (attr.key == "+")
+ {
+ var addView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(88),
+ Height = Application.GetRealHeight(40),
+ Radius = (uint)Application.GetRealHeight(18),
+ BorderColor = CSS_Color.PromptingColor1,
+ BorderWidth = (uint)Application.GetRealWidth(2),
+ };
+
+
+ if (index % 3 == 1)
+ {
+ addView.Gravity = Gravity.Center;
+ }
+ else if (index % 3 == 2)
+ {
+ addView.X = Application.GetRealWidth(208);
+ }
+ row.AddChidren(addView);
+
+ var btnAdd = new Button()
+ {
+ Gravity = Gravity.Center,
+ UnSelectedImagePath = "Public/PlusSignIcon.png",
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ };
+ addView.AddChidren(btnAdd);
+
+ btnAdd.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ Action action = () => {
+ LoadDialog_IrMoreView();
+ };
+ var addButton = new AcControlPage_AddIrButton(action);
+ MainPage.BasePageView.AddChidren(addButton);
+ addButton.Show(device);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+
+
+ }
+ else
+ {
+
+ var btn = new Button()
+ {
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(88),
+ Height = Application.GetRealHeight(40),
+ Radius = (uint)Application.GetRealHeight(18),
+ BorderColor = CSS_Color.PromptingColor1,
+ BorderWidth = (uint)Application.GetRealWidth(2),
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainBackgroundColor,
+ SelectedBackgroundColor = CSS_Color.MainColor,
+ };
+ if (attr.value.Count > 0)
+ {
+ btn.Text = attr.value[0];
+ }
+ if (index % 3 == 1)
+ {
+ btn.Gravity = Gravity.Center;
+ }
+ else if (index % 3 == 2)
+ {
+ btn.X = Application.GetRealWidth(208);
+ }
+ row.AddChidren(btn);
+
+ btn.MouseUpEventHandler = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(attr.key, "");
+ Control.Ins.SendWriteCommand(device, d);
+
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(2000);
+ Application.RunOnMainThread(() =>
+ {
+ btn.IsSelected = false;
+ });
+ })
+ { IsBackground = true }.Start();
+ };
+
+ }
+
+ index++;
+ }
+
+ dialog.Show();
+ }
+
+
+ #endregion
+
+ #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
+
+ /// <summary>
+ /// 娓╁害鏀瑰彉妯″紡
+ /// </summary>
+ void LoadEvent_TempChange()
+ {
+ btnMinus.MouseUpEventHandler = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ return;
+ }
+
+ if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min)
+ {
+ return;
+ }
+ --temp;
+ Console.WriteLine($"temp == {temp}");
+ controlTime = DateTime.Now;
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+ device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ btnPlus.MouseUpEventHandler = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ return;
+ }
+ if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
+ {
+ return;
+ }
+ ++temp;
+ controlTime = DateTime.Now;
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+ device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ //if (device.online)
+ {
+ arcBar.OnStopTrackingTouchEvent = (sender, e) =>
+ {
+ temp = arcBar.Progress;
+ device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
+ btnTemp.Text = arcBar.Progress.ToString();
+ controlTime = DateTime.Now;
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ arcBar.OnProgressChangedEvent = (sender, e) =>
+ {
+ device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
+ btnTemp.Text = e.ToString();
+ };
+ //arcBar.MouseDownEventHandler = (sender, e) => {
+ // Console.WriteLine("ddd");
+ // MainPage.BasePageView.ScrollEnabled =false;
+ //};
+ //arcBar.MouseUpEventHandler = (sender, e) => {
+ // Console.WriteLine("ddd2");
+ // MainPage.BasePageView.ScrollEnabled = true;
+ //};
+ }
+ }
+
+ /// <summary>
+ /// 鎺у埗妯″紡浜嬩欢
+ /// </summary>
+ void LoadEvent_AcStatesChange()
+ {
+ btnMode.MouseUpEventHandler = (sender, e) =>
+ {
+ if (device.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeModeView();
+ };
+ //鎵鏀瑰彉妯″紡
+ btnSwing.MouseUpEventHandler = (sender, e) =>
+ {
+ if (device.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeSwingView();
+ };
+ btnWindSpeed.MouseUpEventHandler = (sender, e) =>
+ {
+ if (device.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeFanView();
+ };
+
+ btnSwitch.MouseUpEventHandler = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
+ if (device.trait_on_off.curValue.ToString() == "on")
+ {
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ btnSwitch.IsSelected = true;
+ arcBar.IsOffline = false;
+ }
+ else
+ {
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ btnSwitch.IsBold = false;
+ arcBar.IsOffline = true;
+ }
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
+
+ /// <summary>
+ /// 鍒锋柊鐣岄潰鐘舵��
+ /// </summary>
+ public void RefreshFormStatu()
+ {
+ Application.RunOnMainThread(() =>
+ {
+ //app鑷繁鎺у埗鐨勪笉鐢ㄦ洿鏂帮紝浼氶�犳垚璺冲姩
+ if (controlTime.AddSeconds(2) > DateTime.Now)
+ {
+ return;
+ }
+ else
+ {
+ btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "掳C";
+ btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
+ btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing));
+ btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
+ btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode), false);
+ btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing), false);
+ btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed), false);
+ temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")));
+
+
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+
+ if (device.trait_on_off.curValue.ToString() == "on")
+ {
+ btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true;
+ arcBar.IsOffline = false;
+ btnSwitch.IsSelected = true;
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ arcBar.IsClickable = false;
+ }
+ else
+ {
+ arcBar.IsClickable = true;
+ }
+ }
+ else
+ {
+ btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false;
+ arcBar.IsOffline = true;
+ btnSwitch.IsSelected = false;
+ arcBar.IsClickable = false;
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ }
+
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "dry")
+ {
+ arcBar.IsOffline = true;
+ arcBar.IsClickable = false;
+
+ }
+ }
+
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ /// <summary>
+ /// 鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛�
+ /// </summary>
+ private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
+ {
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs b/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs
new file mode 100644
index 0000000..a4134a9
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs
@@ -0,0 +1,540 @@
+锘縰sing System;
+using HDL_ON.DriverLayer;
+using HDL_ON.Entity;
+using HDL_ON.Stan;
+using HDL_ON.UI.CSS;
+using Shared;
+namespace HDL_ON.UI
+{
+ public class FhContentView : FrameLayout
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+ /// <summary>
+ /// 绌鸿皟娓╁害鎺у埗鎺т欢
+ /// </summary>
+ DiyArcSeekBar arcBar;
+ /// <summary>
+ /// 鍑忓彿鎸夐挳
+ /// </summary>
+ Button btnMinus;
+ /// <summary>
+ /// 鍔犲彿鎸夐挳
+ /// </summary>
+ Button btnPlus;
+ /// <summary>
+ /// 娓╁害鎸夐挳
+ /// </summary>
+ Button btnTemp;
+ Button btnTempUint;
+ /// <summary>
+ /// 瀹ゅ唴娓╁害鎸夐挳
+ /// </summary>
+ Button btnIndoorTemp;
+ /// <summary>
+ /// 妯″紡鎸夐挳
+ /// </summary>
+ Button btnMode;
+ /// <summary>
+ /// 寮�鍏虫寜閽�
+ /// </summary>
+ Button btnSwitch;
+
+ FloorHeating fhTemp = new FloorHeating();
+
+ Function device;
+
+ #endregion
+
+ public FhContentView(Function function)
+ {
+ device = function;
+ }
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
+ /// </summary>
+ public void InitContentView(bool initStandard)
+ {
+
+ if (initStandard)
+ {
+ //璁惧鍚嶅瓧
+ var btnDeviceName = new NormalViewControl(270, 37, true);
+ btnDeviceName.X = Application.GetRealWidth(16);
+ btnDeviceName.Y = Application.GetRealHeight(18);
+ btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor;
+ btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel;
+ btnDeviceName.Text = device.name;
+ btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
+ AddChidren(btnDeviceName);
+ //鎴块棿鍚嶅瓧
+ var btnRoomName = new NormalViewControl(270, 21, true);
+ btnRoomName.X = Application.GetRealWidth(16);
+ btnRoomName.Y = btnDeviceName.Bottom;
+ btnRoomName.TextColor = CSS_Color.PromptingColor1;
+ btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
+ btnRoomName.Text = device.GetRoomListName();
+ btnRoomName.Width = btnRoomName.GetRealWidthByText();
+ AddChidren(btnRoomName);
+
+ }
+ //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ this.InitFrameWhiteContent1();
+
+ //鍒锋柊鐣岄潰鐘舵��
+ this.RefreshFormStatu();
+ //璇诲彇鐘舵��
+ new System.Threading.Thread(() =>
+ {
+ Control.Ins.SendReadCommand(device);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ /// </summary>
+ private void InitFrameWhiteContent1()
+ {
+
+ arcBar = new DiyArcSeekBar()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ OpenAngle = 160,
+ //ThumbImagePath = device.trait_on_off.curValue.ToString() == "on" ? "FunctionIcon/FloorHeating/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png",
+ ThumbImageHeight = Application.GetRealWidth(50),
+ ProgressBarColor = CSS_Color.AuxiliaryColor1, // 0xFFFC9C04,
+ OfflineProgressBarColor = CSS_Color.PromptingColor2,
+ MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min,
+ MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max,
+ ArcColor = CSS_Color.BackgroundColor,
+ Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)),
+#if __IOS__
+ Y = Application.GetRealHeight(120 + 25),
+ Width = Application.GetRealWidth(260 - 40),
+ Height = Application.GetRealWidth(260 - 40),
+ SeekBarPadding = Application.GetRealWidth(8),
+#else
+ Y = Application.GetRealHeight(120 + 40),
+ Width = Application.GetRealWidth(260 - 40),
+ Height = Application.GetRealWidth(260 - 40),
+ SeekBarPadding = Application.GetRealWidth(7),
+#endif
+
+ };
+ AddChidren(arcBar);
+
+
+ arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
+ arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
+ arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
+ arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
+ arcBar.Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+
+
+
+ btnTemp = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(200),
+ Width = Application.GetRealWidth(80),
+ Height = Application.GetRealWidth(60),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = 56,
+ IsBold = true,
+ Text = device.GetAttrState(FunctionAttributeKey.SetTemp),
+ TextAlignment = TextAlignment.Center,
+ };
+ AddChidren(btnTemp);
+
+ btnTempUint = new Button()
+ {
+ X = btnTemp.Right,
+ Y = btnTemp.Y,
+ Width = Application.GetRealWidth(30),
+ Height = Application.GetRealWidth(25),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ IsBold = true,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = fhTemp.GetTempUnitString(device)
+ };
+ AddChidren(btnTempUint);
+
+ btnIndoorTemp = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnTemp.Bottom + Application.GetRealWidth(10),
+ Width = Application.GetRealWidth(100),
+ Height = Application.GetRealHeight(20),
+ Text = Language.StringByID(StringId.IndoorTemp) + "20掳C",
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ AddChidren(btnIndoorTemp);
+
+ btnMinus = new Button()
+ {
+ X = Application.GetRealWidth(21),
+ Y = Application.GetRealHeight(263),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ UnSelectedImagePath = "Public/MinusSignIcon.png",
+ };
+ AddChidren(btnMinus);
+
+ btnPlus = new Button()
+ {
+ X = Application.GetRealWidth(275),
+ Y = Application.GetRealHeight(263),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ UnSelectedImagePath = "Public/PlusSignIcon.png",
+ };
+ AddChidren(btnPlus);
+
+ if (device.GetAttribute(FunctionAttributeKey.Mode) != null)
+ {
+ btnMode = new Button()
+ {
+ X = Application.GetRealWidth(235),
+ Y = Application.GetRealHeight(337),
+ Width = Application.GetRealWidth(30),
+ Height = Application.GetRealWidth(30),
+ UnSelectedImagePath = fhTemp.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode))
+ };
+ AddChidren(btnMode);
+ if (device.GetAttribute(FunctionAttributeKey.Mode).value.Count > 1)
+ {
+ btnMode.MouseUpEventHandler = (sender, e) =>
+ {
+ LoadDiv_ChangeModeView();
+ };
+ }
+ }
+
+ btnSwitch = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(466),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ UnSelectedImagePath = "Public/PowerClose.png",
+ SelectedImagePath = "Public/PowerOpen.png",
+ IsSelected = device.trait_on_off.curValue.ToString() == "on"
+ };
+ AddChidren(btnSwitch);
+
+ LoadEvent_TempChange();
+ LoadEvent_AcStatesChange();
+
+ }
+
+ /// <summary>
+ /// 鍔犺浇淇敼妯″紡鍖哄煙
+ /// </summary>
+ void LoadDiv_ChangeModeView()
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout dialogView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ dialog.AddChidren(dialogView);
+
+ FrameLayout modeChangeView;
+ modeChangeView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(30),
+ Y = Application.GetRealHeight(128),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(287),
+ BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
+ };
+ dialogView.AddChidren(modeChangeView);
+
+ Button btnTitle;
+ btnTitle = new Button()
+ {
+ X = Application.GetRealWidth(8 + 16),
+ Y = Application.GetRealHeight(8),
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(44),
+ TextID = StringId.ChooseMode,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ };
+ modeChangeView.AddChidren(btnTitle);
+
+ Button btnLine = new Button()
+ {
+ X = btnTitle.X,
+ Y = btnTitle.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ };
+ modeChangeView.AddChidren(btnLine);
+
+ var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value;
+ foreach (var m in modeList)
+ {
+ Button btnModeIcon = new Button()
+ {
+ X = btnTitle.X,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
+ };
+ modeChangeView.AddChidren(btnModeIcon);
+
+ Button btnModeText = new Button()
+ {
+ X = Application.GetRealWidth(12) + btnModeIcon.Right,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
+ Height = Application.GetRealHeight(44),
+ Width = Application.GetRealWidth(90),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ modeChangeView.AddChidren(btnModeText);
+
+ btnModeIcon.UnSelectedImagePath = fhTemp.GetModeIconPath(m, false);
+ btnModeIcon.SelectedImagePath = fhTemp.GetModeIconPath(m);
+ btnModeText.Text = fhTemp.GetModeAttrText(m);
+
+ if (modeList.IndexOf(m) < modeList.Count - 1)
+ {
+ modeChangeView.AddChidren(new Button()
+ {
+ X = btnTitle.X,
+ Y = btnModeText.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ });
+ }
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ //}
+ btnModeIcon.IsSelected = btnModeText.IsSelected = true;
+ device.SetAttrState(FunctionAttributeKey.Mode, m);
+ btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(m);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
+ d.Add(FunctionAttributeKey.Mode, m);
+ Control.Ins.SendWriteCommand(device, d);
+ dialog.Close();
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ arcBar.IsClickable = false;
+ }
+ else
+ {
+ arcBar.IsClickable = true;
+ }
+ };
+ btnModeIcon.MouseUpEventHandler = eventHandler1;
+ btnModeText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = eventHandler;
+
+ }
+
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+ dialog.Show();
+ }
+
+ #endregion
+
+
+ #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
+
+ /// <summary>
+ /// 娓╁害鏀瑰彉妯″紡
+ /// </summary>
+ void LoadEvent_TempChange()
+ {
+ btnMinus.MouseUpEventHandler = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
+ if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ return;
+ }
+ var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+ if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min)
+ {
+ return;
+ }
+ temp--;
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+ device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ btnPlus.MouseUpEventHandler = (sender, e) =>
+ {
+ //if (!device.online)
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
+ if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ return;
+ }
+ var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+ if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
+ {
+ return;
+ }
+ temp++;
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+ device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+
+ //if (device.online)
+ {
+ arcBar.OnStopTrackingTouchEvent = (sender, e) =>
+ {
+ device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
+ btnTemp.Text = arcBar.Progress.ToString();
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ arcBar.OnProgressChangedEvent = (sender, e) =>
+ {
+ device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
+ btnTemp.Text = e.ToString();
+ };
+ }
+ }
+ /// <summary>
+ /// 鎺у埗妯″紡浜嬩欢
+ /// </summary>
+ void LoadEvent_AcStatesChange()
+ {
+ btnMode.MouseUpEventHandler = (sender, e) =>
+ {
+ if (device.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeModeView();
+ };
+
+ btnSwitch.MouseUpEventHandler = (sender, e) =>
+ {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
+ if (device.trait_on_off.curValue.ToString() == "on")
+ {
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ btnSwitch.IsSelected = true;
+ arcBar.IsOffline = false;
+ }
+ else
+ {
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ btnSwitch.IsBold = false;
+ arcBar.IsOffline = true;
+ }
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(device, d);
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
+
+ /// <summary>
+ /// 鍒锋柊鐣岄潰鐘舵��
+ /// </summary>
+ private void RefreshFormStatu()
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnTemp.Text = device.GetAttrState(FunctionAttributeKey.SetTemp);
+ btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "掳C";
+ btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
+ arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")));
+ if (device.trait_on_off.curValue.ToString() == "on")
+ {
+ arcBar.IsOffline = false;
+ btnSwitch.IsSelected = true;
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ arcBar.IsClickable = false;
+ }
+ else
+ {
+ arcBar.IsClickable = true;
+ }
+ }
+ else
+ {
+ arcBar.IsOffline = true;
+ btnSwitch.IsSelected = false;
+ arcBar.IsClickable = false;
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ }
+ //鑷姩妯″紡涓嶅厑璁歌皟娓╁害 2021-10-27 09:41:35 wxr 闄堢惓鍙嶉
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "auto")
+ {
+ btnPlus.Enable = false;
+ btnMinus.Enable = false;
+ arcBar.IsClickable = false;
+ arcBar.IsOffline = true;
+ }
+ });
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs
index cf7936f..0b08588 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs
@@ -1,1052 +1,1052 @@
-锘縰sing System;
-using System.Collections.Generic;
-using HDL_ON.DriverLayer;
-using HDL_ON.Entity;
-using HDL_ON.UI.CSS;
-using Shared;
+锘�//using System;
+//using System.Collections.Generic;
+//using HDL_ON.DriverLayer;
+//using HDL_ON.Entity;
+//using HDL_ON.UI.CSS;
+//using Shared;
-namespace HDL_ON.UI
-{
- public class A_EnvironmentalDataCenter : FrameLayout
- {
+//namespace HDL_ON.UI
+//{
+// public class A_EnvironmentalDataCenter : FrameLayout
+// {
- #region 鎺т欢闆嗗悎
- static A_EnvironmentalDataCenter bodyView;
- /// <summary>
- /// 妤煎眰鏄剧ず
- /// </summary>
- Button btnRoom;
- /// <summary>
- /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣
- /// </summary>
- Button btnFoorDownIcon;
- /// <summary>
- /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙
- /// </summary>
- Button btnRoomClickRow;
- /// <summary>
- /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩�
- /// </summary>
- FrameLayout sensorListView;
+// #region 鎺т欢闆嗗悎
+// static A_EnvironmentalDataCenter bodyView;
+// /// <summary>
+// /// 妤煎眰鏄剧ず
+// /// </summary>
+// Button btnRoom;
+// /// <summary>
+// /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣
+// /// </summary>
+// Button btnFoorDownIcon;
+// /// <summary>
+// /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙
+// /// </summary>
+// Button btnRoomClickRow;
+// /// <summary>
+// /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩�
+// /// </summary>
+// FrameLayout sensorListView;
- VerticalScrolViewLayout sensorListContentView;
+// VerticalScrolViewLayout sensorListContentView;
- /// <summary>
- /// 澶╂皵鍚嶇О鏂囨湰
- /// </summary>
- Button btnWatherText;
- /// <summary>
- /// 婀垮害鏁版嵁鏂囨湰
- /// </summary>
- Button btnHumidityText;
- /// <summary>
- /// pm25鏁版嵁鏂囨湰
- /// </summary>
- Button btnPm25Values;
- /// <summary>
- /// 椋庨�熸暟鎹枃鏈�
- /// </summary>
- Button btnFanSpeedValues;
+// /// <summary>
+// /// 澶╂皵鍚嶇О鏂囨湰
+// /// </summary>
+// Button btnWatherText;
+// /// <summary>
+// /// 婀垮害鏁版嵁鏂囨湰
+// /// </summary>
+// Button btnHumidityText;
+// /// <summary>
+// /// pm25鏁版嵁鏂囨湰
+// /// </summary>
+// Button btnPm25Values;
+// /// <summary>
+// /// 椋庨�熸暟鎹枃鏈�
+// /// </summary>
+// Button btnFanSpeedValues;
- List<SensorView> sensorViewList = new List<SensorView>();
- #endregion
- #region 鍖哄煙鍙橀噺
- Room room;
+// List<SensorView> sensorViewList = new List<SensorView>();
+// #endregion
+// #region 鍖哄煙鍙橀噺
+// Room room;
- Sensor sensorTemp = new Sensor();
- /// <summary>
- /// 浼犳劅鍣ㄥ垎绫诲垪琛�
- /// </summary>
- Dictionary<string, List<Function>> sensorList = new Dictionary<string, List<Function>>();
- #endregion
+// Sensor sensorTemp = new Sensor();
+// /// <summary>
+// /// 浼犳劅鍣ㄥ垎绫诲垪琛�
+// /// </summary>
+// Dictionary<string, List<Function>> sensorList = new Dictionary<string, List<Function>>();
+// #endregion
- public A_EnvironmentalDataCenter()
- {
- bodyView = this;
- }
+// public A_EnvironmentalDataCenter()
+// {
+// bodyView = this;
+// }
- /// <summary>
- /// 鍔犺浇鐣岄潰
- /// </summary>
- /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param>
- /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param>
- /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param>
- public void LoadPage()
- {
- bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+// /// <summary>
+// /// 鍔犺浇鐣岄潰
+// /// </summary>
+// /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param>
+// /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param>
+// /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param>
+// public void LoadPage()
+// {
+// bodyView.BackgroundColor = CSS_Color.BackgroundColor;
- #region 椤堕儴澶╂皵閮ㄥ垎
- var topWeatherView = new FrameLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(73),
- Width = Application.GetRealWidth(361),
- Height = Application.GetRealWidth(166),
- BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png",
- };
- bodyView.AddChidren(topWeatherView);
- LoadEvent_ChangeWeatherIcon(topWeatherView);
+// #region 椤堕儴澶╂皵閮ㄥ垎
+// var topWeatherView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Y = Application.GetRealHeight(73),
+// Width = Application.GetRealWidth(361),
+// Height = Application.GetRealWidth(166),
+// BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png",
+// };
+// bodyView.AddChidren(topWeatherView);
+// LoadEvent_ChangeWeatherIcon(topWeatherView);
- var btnLocationText = new Button()
- {
- X = Application.GetRealWidth(27),
- Width = Application.GetRealWidth(74),
- Height = Application.GetRealWidth(44),
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- TextColor = CSS_Color.FirstLevelTitleColor,
- Text = MainPage.cityInfo.location,
- };
- topWeatherView.AddChidren(btnLocationText);
+// var btnLocationText = new Button()
+// {
+// X = Application.GetRealWidth(27),
+// Width = Application.GetRealWidth(74),
+// Height = Application.GetRealWidth(44),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// Text = MainPage.cityInfo.location,
+// };
+// topWeatherView.AddChidren(btnLocationText);
- var btnTemp = new Button()
- {
- X = Application.GetRealWidth(21),
- Y = Application.GetRealWidth(53),
- Width = Application.GetRealWidth(78),
- Height = Application.GetRealWidth(68),
- TextSize = 60,
- IsBold = true,
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.FirstLevelTitleColor,
- Text = MainPage.cityInfo.temperature,
- };
- topWeatherView.AddChidren(btnTemp);
+// var btnTemp = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Y = Application.GetRealWidth(53),
+// Width = Application.GetRealWidth(78),
+// Height = Application.GetRealWidth(68),
+// TextSize = 60,
+// IsBold = true,
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// Text = MainPage.cityInfo.temperature,
+// };
+// topWeatherView.AddChidren(btnTemp);
- var btnTempUint = new Button()
- {
- X = Application.GetRealWidth(109),
- Y = Application.GetRealWidth(60),
- Width = Application.GetRealWidth(20),
- Height = Application.GetRealWidth(20),
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextColor = CSS_Color.TextualColor,
- Text = "掳C",
- };
- topWeatherView.AddChidren(btnTempUint);
+// var btnTempUint = new Button()
+// {
+// X = Application.GetRealWidth(109),
+// Y = Application.GetRealWidth(60),
+// Width = Application.GetRealWidth(20),
+// Height = Application.GetRealWidth(20),
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// TextColor = CSS_Color.TextualColor,
+// Text = "掳C",
+// };
+// topWeatherView.AddChidren(btnTempUint);
- btnWatherText = new Button()
- {
- X = Application.GetRealWidth(109),
- Y = Application.GetRealWidth(82),
- Width = Application.GetRealWidth(200),
- Height = Application.GetRealWidth(20),
- TextColor = CSS_Color.TextualColor,
- TextSize = CSS_FontSize.TextFontSize,
- TextAlignment = TextAlignment.CenterLeft,
- Text = MainPage.cityInfo.weather
- };
- topWeatherView.AddChidren(btnWatherText);
+// btnWatherText = new Button()
+// {
+// X = Application.GetRealWidth(109),
+// Y = Application.GetRealWidth(82),
+// Width = Application.GetRealWidth(200),
+// Height = Application.GetRealWidth(20),
+// TextColor = CSS_Color.TextualColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextAlignment = TextAlignment.CenterLeft,
+// Text = MainPage.cityInfo.weather
+// };
+// topWeatherView.AddChidren(btnWatherText);
- var btnTempUpperLimit = new Button()
- {
- X = Application.GetRealWidth(107),
- Y = Application.GetRealWidth(101),
- Width = Application.GetRealWidth(16),
- Height = Application.GetRealWidth(16),
- UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png",
- };
- topWeatherView.AddChidren(btnTempUpperLimit);
+// var btnTempUpperLimit = new Button()
+// {
+// X = Application.GetRealWidth(107),
+// Y = Application.GetRealWidth(101),
+// Width = Application.GetRealWidth(16),
+// Height = Application.GetRealWidth(16),
+// UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png",
+// };
+// topWeatherView.AddChidren(btnTempUpperLimit);
- var btnTempUpperLimitText = new Button()
- {
- X = btnTempUpperLimit.Right,
- Y = Application.GetRealWidth(101),
- Width = Application.GetRealWidth(42),
- Height = Application.GetRealWidth(20),
- TextColor = CSS_Color.TextualColor,
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = $"{MainPage.cityInfo.highestTemperature}掳C",
- };
- topWeatherView.AddChidren(btnTempUpperLimitText);
+// var btnTempUpperLimitText = new Button()
+// {
+// X = btnTempUpperLimit.Right,
+// Y = Application.GetRealWidth(101),
+// Width = Application.GetRealWidth(42),
+// Height = Application.GetRealWidth(20),
+// TextColor = CSS_Color.TextualColor,
+// TextAlignment = TextAlignment.CenterLeft,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// Text = $"{MainPage.cityInfo.highestTemperature}掳C",
+// };
+// topWeatherView.AddChidren(btnTempUpperLimitText);
- var btnTempLowerLimit = new Button()
- {
- X = Application.GetRealWidth(156),
- Y = Application.GetRealWidth(101),
- Width = Application.GetRealWidth(16),
- Height = Application.GetRealWidth(16),
- UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png",
- };
- topWeatherView.AddChidren(btnTempLowerLimit);
+// var btnTempLowerLimit = new Button()
+// {
+// X = Application.GetRealWidth(156),
+// Y = Application.GetRealWidth(101),
+// Width = Application.GetRealWidth(16),
+// Height = Application.GetRealWidth(16),
+// UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png",
+// };
+// topWeatherView.AddChidren(btnTempLowerLimit);
- var btnTempLowerLimitText = new Button()
- {
- X = btnTempLowerLimit.Right,
- Y = Application.GetRealWidth(101),
- Width = Application.GetRealWidth(42),
- Height = Application.GetRealWidth(20),
- TextColor = CSS_Color.TextualColor,
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = $"{MainPage.cityInfo.lowestTemperature}掳C",
- };
- topWeatherView.AddChidren(btnTempLowerLimitText);
+// var btnTempLowerLimitText = new Button()
+// {
+// X = btnTempLowerLimit.Right,
+// Y = Application.GetRealWidth(101),
+// Width = Application.GetRealWidth(42),
+// Height = Application.GetRealWidth(20),
+// TextColor = CSS_Color.TextualColor,
+// TextAlignment = TextAlignment.CenterLeft,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// Text = $"{MainPage.cityInfo.lowestTemperature}掳C",
+// };
+// topWeatherView.AddChidren(btnTempLowerLimitText);
- var btnValue = new Button()
- {
- X = Application.GetRealWidth(27),
- Y = Application.GetRealWidth(119),
- Width = Application.GetRealWidth(300),
- Height = Application.GetRealWidth(34),
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- TextColor = CSS_Color.TextualColor,
- };
- topWeatherView.AddChidren(btnValue);
- var valueText = Language.StringByID(StringId.EnvirSensorValueTip);
- btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}");
- #endregion
+// var btnValue = new Button()
+// {
+// X = Application.GetRealWidth(27),
+// Y = Application.GetRealWidth(119),
+// Width = Application.GetRealWidth(300),
+// Height = Application.GetRealWidth(34),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+// TextColor = CSS_Color.TextualColor,
+// };
+// topWeatherView.AddChidren(btnValue);
+// var valueText = Language.StringByID(StringId.EnvirSensorValueTip);
+// btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}");
+// #endregion
- #region contentView
- FrameLayout contentView = new FrameLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealWidth(239),
- Height = Application.GetRealHeight(450),
- };
- bodyView.AddChidren(contentView);
+// #region contentView
+// FrameLayout contentView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Y = Application.GetRealWidth(239),
+// Height = Application.GetRealHeight(450),
+// };
+// bodyView.AddChidren(contentView);
- #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
- room = new Room() { roomName = Language.StringByID(StringId.All) };
- btnFoorDownIcon = new Button()
- {
- Width = Application.GetMinRealAverage(16),
- Height = Application.GetMinRealAverage(16),
- X = Application.GetRealWidth(16),
- Y = Application.GetRealHeight(18),
- UnSelectedImagePath = "Public/DownIcon.png",
- };
- contentView.AddChidren(btnFoorDownIcon);
+// #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
+// room = new Room() { roomName = Language.StringByID(StringId.All) };
+// btnFoorDownIcon = new Button()
+// {
+// Width = Application.GetMinRealAverage(16),
+// Height = Application.GetMinRealAverage(16),
+// X = Application.GetRealWidth(16),
+// Y = Application.GetRealHeight(18),
+// UnSelectedImagePath = "Public/DownIcon.png",
+// };
+// contentView.AddChidren(btnFoorDownIcon);
- btnRoom = new Button()
- {
- X = btnFoorDownIcon.Right,
- Y = Application.GetRealHeight(18),
- Width = Application.GetRealWidth(200),
- Height = Application.GetMinRealAverage(16),
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextAlignment = TextAlignment.CenterLeft,
- Text = room.roomName,
- };
- contentView.AddChidren(btnRoom);
+// btnRoom = new Button()
+// {
+// X = btnFoorDownIcon.Right,
+// Y = Application.GetRealHeight(18),
+// Width = Application.GetRealWidth(200),
+// Height = Application.GetMinRealAverage(16),
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// TextAlignment = TextAlignment.CenterLeft,
+// Text = room.roomName,
+// };
+// contentView.AddChidren(btnRoom);
- btnRoomClickRow = new Button()
- {
- Height = Application.GetRealHeight(40),
- };
- contentView.AddChidren(btnRoomClickRow);
+// btnRoomClickRow = new Button()
+// {
+// Height = Application.GetRealHeight(40),
+// };
+// contentView.AddChidren(btnRoomClickRow);
- #endregion
- sensorListContentView = new VerticalScrolViewLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(50),
- Height = Application.GetRealHeight(400),
- Radius = (uint)Application.GetRealWidth(12),
- BorderColor = 0x00000000,
- BorderWidth = 0,
- };
- contentView.AddChidren(sensorListContentView);
- sensorListView = new FrameLayout();
- sensorListContentView.AddChidren(sensorListView);
+// #endregion
+// sensorListContentView = new VerticalScrolViewLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Y = Application.GetRealHeight(50),
+// Height = Application.GetRealHeight(400),
+// Radius = (uint)Application.GetRealWidth(12),
+// BorderColor = 0x00000000,
+// BorderWidth = 0,
+// };
+// contentView.AddChidren(sensorListContentView);
+// sensorListView = new FrameLayout();
+// sensorListContentView.AddChidren(sensorListView);
- LoadSenesorList();
+// LoadSenesorList();
- #endregion
+// #endregion
- //LoadEventList();
- LoadDialog_ChangeRoom();
+// //LoadEventList();
+// LoadDialog_ChangeRoom();
- new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
+// new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
- }
+// }
- /// <summary>
- /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
- /// </summary>
- void LoadSenesorList()
- {
- sensorListView.RemoveAll();
- sensorViewList.Clear();
+// /// <summary>
+// /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+// /// </summary>
+// void LoadSenesorList()
+// {
+// sensorListView.RemoveAll();
+// sensorViewList.Clear();
- sensorList = new Dictionary<string, List<Function>>();
- int index = 0;
- foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
- {
- foreach (var sensorAttr in sensor.attributes)
- {
- if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
- {
- var flag = sensorAttr.key;
- if (flag == "value")
- {
- flag = sensor.spk.Replace("sensor.", "");
- }
- var newTemp = new Function()
- {
- name = sensor.name,
- sid = sensor.sid,
- deviceId = sensor.deviceId,
- roomIds = sensor.roomIds,
- spk = "sensor."+ flag,
- attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = sensorAttr.state, curValue = sensorAttr.curValue }
- , new FunctionAttributes {key = "spk",state = sensorAttr.key,curValue = sensorAttr.key } }
- };
- //鍒嗙被鍔犲叆闆嗗悎
- if (sensorList.ContainsKey(flag))
- {
- sensorList[flag].Add(newTemp);
- }
- else
- {
- sensorList.Add(flag, new List<Function>() { newTemp });
- }
- }
- }
+// sensorList = new Dictionary<string, List<Function>>();
+// int index = 0;
+// foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
+// {
+// foreach (var sensorAttr in sensor.attributes)
+// {
+// if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
+// {
+// var flag = sensorAttr.key;
+// if (flag == "value")
+// {
+// flag = sensor.spk.Replace("sensor.", "");
+// }
+// var newTemp = new Function()
+// {
+// name = sensor.name,
+// sid = sensor.sid,
+// deviceId = sensor.deviceId,
+// roomIds = sensor.roomIds,
+// spk = "sensor."+ flag,
+// attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = sensorAttr.state, curValue = sensorAttr.curValue }
+// , new FunctionAttributes {key = "spk",state = sensorAttr.key,curValue = sensorAttr.key } }
+// };
+// //鍒嗙被鍔犲叆闆嗗悎
+// if (sensorList.ContainsKey(flag))
+// {
+// sensorList[flag].Add(newTemp);
+// }
+// else
+// {
+// sensorList.Add(flag, new List<Function>() { newTemp });
+// }
+// }
+// }
- new System.Threading.Thread(() =>
- {
- Control.Ins.SendReadCommand(sensor);
- })
- { IsBackground = true }.Start();
- }
+// new System.Threading.Thread(() =>
+// {
+// Control.Ins.SendReadCommand(sensor);
+// })
+// { IsBackground = true }.Start();
+// }
- foreach(var sensorAssemble in sensorList)
- {
- var showList = sensorAssemble.Value;
- if(room.roomId != "")
- {
- showList = sensorAssemble.Value.FindAll((obj) => obj.roomIds.Contains(room.roomId));
- }
- if (showList != null && showList.Count > 0)
- {
- var sensorView = new SensorView(showList,index);
- sensorListView.AddChidren(sensorView);
- sensorViewList.Add(sensorView);
- sensorView.LoadView();
+// foreach(var sensorAssemble in sensorList)
+// {
+// var showList = sensorAssemble.Value;
+// if(room.roomId != "")
+// {
+// showList = sensorAssemble.Value.FindAll((obj) => obj.roomIds.Contains(room.roomId));
+// }
+// if (showList != null && showList.Count > 0)
+// {
+// var sensorView = new SensorView(showList,index);
+// sensorListView.AddChidren(sensorView);
+// sensorViewList.Add(sensorView);
+// sensorView.LoadView();
- index++;
- }
- }
- sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2);
- }
+// index++;
+// }
+// }
+// sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2);
+// }
- /// <summary>
- /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢
- /// </summary>
- void LoadDialog_ChangeRoom()
- {
- EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
- {
- var dialog = new Dialog();
- var dialogBody = new FrameLayout();
- dialog.AddChidren(dialogBody);
- dialogBody.MouseUpEventHandler += (sender1, e1) =>
- {
- dialog.Close();
- };
+// /// <summary>
+// /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢
+// /// </summary>
+// void LoadDialog_ChangeRoom()
+// {
+// EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+// {
+// var dialog = new Dialog();
+// var dialogBody = new FrameLayout();
+// dialog.AddChidren(dialogBody);
+// dialogBody.MouseUpEventHandler += (sender1, e1) =>
+// {
+// dialog.Close();
+// };
- var dispalyView = new FrameLayout()
- {
- X = Application.GetRealWidth(10),
- Y = Application.GetRealHeight(266),
- Width = Application.GetRealWidth(160),
- Height = Application.GetRealHeight(110),
- BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
- };
- dialogBody.AddChidren(dispalyView);
+// var dispalyView = new FrameLayout()
+// {
+// X = Application.GetRealWidth(10),
+// Y = Application.GetRealHeight(266),
+// Width = Application.GetRealWidth(160),
+// Height = Application.GetRealHeight(110),
+// BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
+// };
+// dialogBody.AddChidren(dispalyView);
- var contentView = new VerticalScrolViewLayout()
- {
- X = Application.GetRealWidth(8),
- Y = Application.GetRealHeight(15),
- Width = Application.GetRealWidth(150),
- Height = Application.GetRealHeight(45 * 2),
- ScrollEnabled = false
- };
- dispalyView.AddChidren(contentView);
+// var contentView = new VerticalScrolViewLayout()
+// {
+// X = Application.GetRealWidth(8),
+// Y = Application.GetRealHeight(15),
+// Width = Application.GetRealWidth(150),
+// Height = Application.GetRealHeight(45 * 2),
+// ScrollEnabled = false
+// };
+// dispalyView.AddChidren(contentView);
- if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
- {
- }
- else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
- {
- dispalyView = new FrameLayout()
- {
- X = Application.GetRealWidth(10),
- Y = Application.GetRealHeight(266),
- Width = Application.GetRealWidth(160),
- Height = Application.GetRealHeight(155),
- BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
- };
- dialogBody.AddChidren(dispalyView);
+// if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
+// {
+// }
+// else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
+// {
+// dispalyView = new FrameLayout()
+// {
+// X = Application.GetRealWidth(10),
+// Y = Application.GetRealHeight(266),
+// Width = Application.GetRealWidth(160),
+// Height = Application.GetRealHeight(155),
+// BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
+// };
+// dialogBody.AddChidren(dispalyView);
- contentView.Height = Application.GetRealHeight(45 * 3);
- dispalyView.AddChidren(contentView);
- }
- else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
- {
- dispalyView = new FrameLayout()
- {
- X = Application.GetRealWidth(10),
- Y = Application.GetRealHeight(266),
- Width = Application.GetRealWidth(160),
- Height = Application.GetRealHeight(200),
- BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
- };
- dialogBody.AddChidren(dispalyView);
+// contentView.Height = Application.GetRealHeight(45 * 3);
+// dispalyView.AddChidren(contentView);
+// }
+// else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
+// {
+// dispalyView = new FrameLayout()
+// {
+// X = Application.GetRealWidth(10),
+// Y = Application.GetRealHeight(266),
+// Width = Application.GetRealWidth(160),
+// Height = Application.GetRealHeight(200),
+// BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
+// };
+// dialogBody.AddChidren(dispalyView);
- contentView.Height = Application.GetRealHeight(45 * 4);
- dispalyView.AddChidren(contentView);
- }
- else
- {
- dispalyView = new FrameLayout()
- {
- X = Application.GetRealWidth(10),
- Y = Application.GetRealHeight(266),
- Width = Application.GetRealWidth(160),
- Height = Application.GetRealHeight(245),
- BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
- };
- dialogBody.AddChidren(dispalyView);
+// contentView.Height = Application.GetRealHeight(45 * 4);
+// dispalyView.AddChidren(contentView);
+// }
+// else
+// {
+// dispalyView = new FrameLayout()
+// {
+// X = Application.GetRealWidth(10),
+// Y = Application.GetRealHeight(266),
+// Width = Application.GetRealWidth(160),
+// Height = Application.GetRealHeight(245),
+// BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
+// };
+// dialogBody.AddChidren(dispalyView);
- contentView.Height = Application.GetRealHeight(45 * 5);
- contentView.ScrollEnabled = true;
- dispalyView.AddChidren(contentView);
- }
+// contentView.Height = Application.GetRealHeight(45 * 5);
+// contentView.ScrollEnabled = true;
+// dispalyView.AddChidren(contentView);
+// }
- var showListRoom = new List<Room>();
- showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
- showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
+// var showListRoom = new List<Room>();
+// showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
+// showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
- foreach (var roomTemp in showListRoom)
- {
- string roomName = roomTemp.roomName;
- var btnRoomName = new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(112),
- Height = Application.GetRealHeight(44),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.FirstLevelTitleColor,
- SelectedTextColor = CSS_Color.MainColor,
- Text = roomName,
- TextSize = CSS_FontSize.SubheadingFontSize,
- IsSelected = btnRoom.Text == roomName,
- IsMoreLines = true,
- Tag = roomName
- };
- contentView.AddChidren(btnRoomName);
+// foreach (var roomTemp in showListRoom)
+// {
+// string roomName = roomTemp.roomName;
+// var btnRoomName = new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(112),
+// Height = Application.GetRealHeight(44),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// SelectedTextColor = CSS_Color.MainColor,
+// Text = roomName,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// IsSelected = btnRoom.Text == roomName,
+// IsMoreLines = true,
+// Tag = roomName
+// };
+// contentView.AddChidren(btnRoomName);
- btnRoomName.MouseUpEventHandler += (senderH, en) =>
- {
- dialog.Close();
- btnRoom.Text = roomName;
- room = roomTemp;
- LoadSenesorList();
- };
- }
+// btnRoomName.MouseUpEventHandler += (senderH, en) =>
+// {
+// dialog.Close();
+// btnRoom.Text = roomName;
+// room = roomTemp;
+// LoadSenesorList();
+// };
+// }
- dialog.Show();
- };
+// dialog.Show();
+// };
- btnRoomClickRow.MouseUpEventHandler = eventHandler;
- //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
- }
+// btnRoomClickRow.MouseUpEventHandler = eventHandler;
+// //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
+// }
- #region event
+// #region event
- public static void LoadEvent_UpdataStatus(Function updateTemp)
- {
- Application.RunOnMainThread(() =>
- {
- try
- {
- if (bodyView != null)
- {
- foreach (var sensorAttr in updateTemp.attributes)
- {
- if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
- {
- var flag = sensorAttr.key;
- if (flag == "value")
- {
- flag = updateTemp.spk.Replace("sensor.", "");
- }
+// public static void LoadEvent_UpdataStatus(Function updateTemp)
+// {
+// Application.RunOnMainThread(() =>
+// {
+// try
+// {
+// if (bodyView != null)
+// {
+// foreach (var sensorAttr in updateTemp.attributes)
+// {
+// if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
+// {
+// var flag = sensorAttr.key;
+// if (flag == "value")
+// {
+// flag = updateTemp.spk.Replace("sensor.", "");
+// }
- foreach (var view in bodyView.sensorViewList)
- {
- if (view.Tag.ToString() == flag)
- {
- view.UpdataStatus(flag,updateTemp.sid, sensorAttr.state);
- }
- }
+// foreach (var view in bodyView.sensorViewList)
+// {
+// if (view.Tag.ToString() == flag)
+// {
+// view.UpdataStatus(flag,updateTemp.sid, sensorAttr.state);
+// }
+// }
- }
- }
+// }
+// }
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
- }
- });
- }
+// }
+// }
+// catch (Exception ex)
+// {
+// MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
+// }
+// });
+// }
- void LoadEvent_ChangeWeatherIcon(FrameLayout view)
- {
+// void LoadEvent_ChangeWeatherIcon(FrameLayout view)
+// {
- switch (MainPage.cityInfo.weather)
- {
- case "鏅�":
- case "Sunny":
- case "鏅村ぉ":
- case "澶╂櫞":
- case "Clear":
- case "澶ч儴鏅存湕":
- case "Mostly Sunny":
- case "鏅存檪澶氶洸":
- case "闄藉厜鍏呮矝":
- case "Mostly Clear":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png";
- break;
- case "澶氫簯":
- case "Cloudy":
- case "澶氶洸":
- case "灏戜簯":
- case "Partly Cloudy":
- case "灏戦洸":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png";
- break;
- case "闃�":
- case "Overcast":
- case "闄板ぉ":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png";
- break;
- case "闃甸洦":
- case "Showers":
- case "闄i洦":
- case "椹熼洦":
- case "灞�閮ㄩ樀闆�":
- case "Scattered Showers":
- case "灞�鍦伴櫍闆�":
- case "灞�閮ㄥ湴鍗�鎬ч闆�":
- case "灏忛樀闆�":
- case "Light Showers":
- case "灏忛櫍闆�":
- case "闆舵暎椹熼洦":
- case "寮洪樀闆�":
- case "Heavy Showers":
- case "寮烽櫍闆�":
- case "闁撲腑鏈夐闆�":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
- break;
- case "闃甸洩":
- case "Snow Showers":
- case "闄i洩":
- case "椹熼洩":
- case "灏忛樀闆�":
- case "Light Snow Showers":
- case "灏忛櫍闆�":
- case "闆舵暎椹熼洩":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
- break;
- case "闆�":
- case "Fog":
- case "闇�":
- case "钖勯湩":
- case "鍐婚浘":
- case "Freezing Fog":
- case "鍑嶉湩":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png";
- break;
- case "娌欏皹鏆�":
- case "Sandstorm":
- case "娌欏〉鏆�":
- case "寮烘矙灏樻毚":
- case "Heavy Sandstorm":
- case "寮锋矙濉垫毚":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png";
- break;
- case "娴皹":
- case "Dust":
- case "娴〉":
- case "灏樺嵎椋�":
- case "Dust Storm":
- case "濉垫嵅棰�":
- case "鎵矙":
- case "Sand":
- case "鎻氭矙":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png";
- break;
- case "闇�":
- case "Haze":
- case "鐓欓湠":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png";
- break;
- case "闆烽樀闆�":
- case "Thundershower":
- case "闆烽櫍闆�":
- case "闆烽洦":
- case "闆风數":
- case "Lightning":
- case "闆烽浕":
- case "闆锋毚":
- case "Thunderstorm":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png";
- break;
- case "闆烽樀闆ㄤ即鏈夊啺闆�":
- case "Thundershower with Hail":
- case "闆烽櫍闆ㄤ即鏈夊啺闆�":
- case "闆烽洦浼存湁鍐伴浌":
- case "鍐伴浌":
- case "Hail":
- case "鍐伴拡":
- case "Needle Ice":
- case "鍐伴嚌":
- case "鍐扮矑":
- case "Icy":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png";
- break;
- case "闆ㄥす闆�":
- case "Sleet":
- case "闆ㄥぞ闆�":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
- break;
- case "灏忛洦":
- case "Light Rain":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
- break;
- case "涓洦":
- case "Rain":
- case "灏忓埌涓洦":
- case "闆�":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
- break;
- case "澶ч洦":
- case "Heavy Rain":
- case "涓埌澶ч洦":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
- break;
- case "鏆撮洦":
- case "Rainstorm":
- case "璞洦":
- case "澶ф毚闆�":
- case "Heavy Rainstorm":
- case "澶ц豹闆�":
- case "鐗瑰ぇ鏆撮洦":
- case "Extreme Rainstorm":
- case "瓒呭ぇ璞洦":
- case "澶у埌鏆撮洦":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
- break;
- case "灏忛洩":
- case "Light Snow":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
- break;
- case "闆�":
- case "涓洩":
- case "灏忓埌涓洩":
- case "Snow":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
- break;
- case "澶ч洩":
- case "Heavy Snow":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
- break;
- case "鏆撮洩":
- case "Blizzard":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
- break;
- case "鍐婚洦":
- case "Freezing Rain":
- case "鍑嶉洦":
- view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
- break;
- }
- }
+// switch (MainPage.cityInfo.weather)
+// {
+// case "鏅�":
+// case "Sunny":
+// case "鏅村ぉ":
+// case "澶╂櫞":
+// case "Clear":
+// case "澶ч儴鏅存湕":
+// case "Mostly Sunny":
+// case "鏅存檪澶氶洸":
+// case "闄藉厜鍏呮矝":
+// case "Mostly Clear":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png";
+// break;
+// case "澶氫簯":
+// case "Cloudy":
+// case "澶氶洸":
+// case "灏戜簯":
+// case "Partly Cloudy":
+// case "灏戦洸":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png";
+// break;
+// case "闃�":
+// case "Overcast":
+// case "闄板ぉ":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png";
+// break;
+// case "闃甸洦":
+// case "Showers":
+// case "闄i洦":
+// case "椹熼洦":
+// case "灞�閮ㄩ樀闆�":
+// case "Scattered Showers":
+// case "灞�鍦伴櫍闆�":
+// case "灞�閮ㄥ湴鍗�鎬ч闆�":
+// case "灏忛樀闆�":
+// case "Light Showers":
+// case "灏忛櫍闆�":
+// case "闆舵暎椹熼洦":
+// case "寮洪樀闆�":
+// case "Heavy Showers":
+// case "寮烽櫍闆�":
+// case "闁撲腑鏈夐闆�":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+// break;
+// case "闃甸洩":
+// case "Snow Showers":
+// case "闄i洩":
+// case "椹熼洩":
+// case "灏忛樀闆�":
+// case "Light Snow Showers":
+// case "灏忛櫍闆�":
+// case "闆舵暎椹熼洩":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+// break;
+// case "闆�":
+// case "Fog":
+// case "闇�":
+// case "钖勯湩":
+// case "鍐婚浘":
+// case "Freezing Fog":
+// case "鍑嶉湩":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png";
+// break;
+// case "娌欏皹鏆�":
+// case "Sandstorm":
+// case "娌欏〉鏆�":
+// case "寮烘矙灏樻毚":
+// case "Heavy Sandstorm":
+// case "寮锋矙濉垫毚":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png";
+// break;
+// case "娴皹":
+// case "Dust":
+// case "娴〉":
+// case "灏樺嵎椋�":
+// case "Dust Storm":
+// case "濉垫嵅棰�":
+// case "鎵矙":
+// case "Sand":
+// case "鎻氭矙":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png";
+// break;
+// case "闇�":
+// case "Haze":
+// case "鐓欓湠":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png";
+// break;
+// case "闆烽樀闆�":
+// case "Thundershower":
+// case "闆烽櫍闆�":
+// case "闆烽洦":
+// case "闆风數":
+// case "Lightning":
+// case "闆烽浕":
+// case "闆锋毚":
+// case "Thunderstorm":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png";
+// break;
+// case "闆烽樀闆ㄤ即鏈夊啺闆�":
+// case "Thundershower with Hail":
+// case "闆烽櫍闆ㄤ即鏈夊啺闆�":
+// case "闆烽洦浼存湁鍐伴浌":
+// case "鍐伴浌":
+// case "Hail":
+// case "鍐伴拡":
+// case "Needle Ice":
+// case "鍐伴嚌":
+// case "鍐扮矑":
+// case "Icy":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png";
+// break;
+// case "闆ㄥす闆�":
+// case "Sleet":
+// case "闆ㄥぞ闆�":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
+// break;
+// case "灏忛洦":
+// case "Light Rain":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+// break;
+// case "涓洦":
+// case "Rain":
+// case "灏忓埌涓洦":
+// case "闆�":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+// break;
+// case "澶ч洦":
+// case "Heavy Rain":
+// case "涓埌澶ч洦":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+// break;
+// case "鏆撮洦":
+// case "Rainstorm":
+// case "璞洦":
+// case "澶ф毚闆�":
+// case "Heavy Rainstorm":
+// case "澶ц豹闆�":
+// case "鐗瑰ぇ鏆撮洦":
+// case "Extreme Rainstorm":
+// case "瓒呭ぇ璞洦":
+// case "澶у埌鏆撮洦":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+// break;
+// case "灏忛洩":
+// case "Light Snow":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+// break;
+// case "闆�":
+// case "涓洩":
+// case "灏忓埌涓洩":
+// case "Snow":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+// break;
+// case "澶ч洩":
+// case "Heavy Snow":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+// break;
+// case "鏆撮洩":
+// case "Blizzard":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+// break;
+// case "鍐婚洦":
+// case "Freezing Rain":
+// case "鍑嶉洦":
+// view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
+// break;
+// }
+// }
- #endregion
- }
+// #endregion
+// }
- /// <summary>
- /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
- /// </summary>
- public class SensorView :FrameLayout
- {
- Button btnSensorValues;
- Button btnLevel;
+// /// <summary>
+// /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+// /// </summary>
+// public class SensorView :FrameLayout
+// {
+// Button btnSensorValues;
+// Button btnLevel;
- List<Function> sensorList = new List<Function>();
- string imagePath = "";
- string iconPath = "";
- string sensorSPK = "";
- Sensor sensorTemp = new Sensor();
- double assembleValues = 0.0;
+// List<Function> sensorList = new List<Function>();
+// string imagePath = "";
+// string iconPath = "";
+// string sensorSPK = "";
+// Sensor sensorTemp = new Sensor();
+// double assembleValues = 0.0;
- public SensorView(List<Function> showList, int index)//,,string spk,double value)
- {
- sensorList = showList;
- sensorSPK = showList[0].spk;
- foreach (var s in showList)
- {
- assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
- }
+// public SensorView(List<Function> showList, int index)//,,string spk,double value)
+// {
+// sensorList = showList;
+// sensorSPK = showList[0].spk;
+// foreach (var s in showList)
+// {
+// assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
+// }
- this.X = Application.GetRealWidth(7);
- this.Width = Application.GetRealWidth(182);
- this.Height = Application.GetRealWidth(124);
- this.Y = Application.GetRealWidth(124 * (index / 2));
- this.Tag = sensorSPK;
+// this.X = Application.GetRealWidth(7);
+// this.Width = Application.GetRealWidth(182);
+// this.Height = Application.GetRealWidth(124);
+// this.Y = Application.GetRealWidth(124 * (index / 2));
+// this.Tag = sensorSPK;
- if (index % 2 != 0)
- {
- this.X = Application.GetRealWidth(189);
- }
+// if (index % 2 != 0)
+// {
+// this.X = Application.GetRealWidth(189);
+// }
- switch (sensorSPK)
- {
- case SPK.SensorCO2:
- imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png";
- iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png";
- break;
- case SPK.SensorPm25:
- imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png";
- iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png";
- break;
- case SPK.SensorTVOC:
- imagePath = "FunctionIcon/EnvirSensor/TvocBg.png";
- iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png";
- break;
- case SPK.SensorHumidity:
- imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png";
- iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png";
- break;
- case SPK.SensorTemperature:
- imagePath = "FunctionIcon/EnvirSensor/TempBg.png";
- iconPath = "FunctionIcon/EnvirSensor/TempIcon.png";
- break;
- case SPK.SensorHcho:
- imagePath = "FunctionIcon/EnvirSensor/HchoBg.png";
- iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png";
- break;
- }
- }
+// switch (sensorSPK)
+// {
+// case SPK.SensorCO2:
+// imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png";
+// iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png";
+// break;
+// case SPK.SensorPm25:
+// imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png";
+// iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png";
+// break;
+// case SPK.SensorTVOC:
+// imagePath = "FunctionIcon/EnvirSensor/TvocBg.png";
+// iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png";
+// break;
+// case SPK.SensorHumidity:
+// imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png";
+// iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png";
+// break;
+// case SPK.SensorTemperature:
+// imagePath = "FunctionIcon/EnvirSensor/TempBg.png";
+// iconPath = "FunctionIcon/EnvirSensor/TempIcon.png";
+// break;
+// case SPK.SensorHcho:
+// imagePath = "FunctionIcon/EnvirSensor/HchoBg.png";
+// iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png";
+// break;
+// }
+// }
- public void LoadView()
- {
- Function sensor = sensorList[0];
- this.BackgroundImagePath = imagePath;
+// public void LoadView()
+// {
+// Function sensor = sensorList[0];
+// this.BackgroundImagePath = imagePath;
- var btnIcon = new Button()
- {
- X = Application.GetRealWidth(23),
- Y = Application.GetRealHeight(17),
- Width = Application.GetRealWidth(32),
- Height = Application.GetRealWidth(32),
- UnSelectedImagePath = iconPath
- };
- this.AddChidren(btnIcon);
+// var btnIcon = new Button()
+// {
+// X = Application.GetRealWidth(23),
+// Y = Application.GetRealHeight(17),
+// Width = Application.GetRealWidth(32),
+// Height = Application.GetRealWidth(32),
+// UnSelectedImagePath = iconPath
+// };
+// this.AddChidren(btnIcon);
- btnIcon.MouseUpEventHandler = (sender, e) =>
- {
- #region
- var esp = new EnvironmentalSensorPage(sensor,sensorList);
- MainPage.BasePageView.AddChidren(esp);
- esp.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- #endregion
- };
+// btnIcon.MouseUpEventHandler = (sender, e) =>
+// {
+// #region
+// var esp = new EnvironmentalSensorPage(sensor,sensorList);
+// MainPage.BasePageView.AddChidren(esp);
+// esp.LoadPage();
+// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+// #endregion
+// };
- var btnInfoIcon = new Button()
- {
- X = Application.GetRealWidth(139),
- Y = Application.GetRealHeight(21),
- Width = Application.GetRealWidth(24),
- Height = Application.GetRealWidth(24),
- UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png",
- };
- this.AddChidren(btnInfoIcon);
- btnInfoIcon.MouseUpEventHandler = (sender, e) =>
- {
- LoadInfo(sensorSPK);
- };
+// var btnInfoIcon = new Button()
+// {
+// X = Application.GetRealWidth(139),
+// Y = Application.GetRealHeight(21),
+// Width = Application.GetRealWidth(24),
+// Height = Application.GetRealWidth(24),
+// UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png",
+// };
+// this.AddChidren(btnInfoIcon);
+// btnInfoIcon.MouseUpEventHandler = (sender, e) =>
+// {
+// LoadInfo(sensorSPK);
+// };
- var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
- var levelTextList = sensorTemp.GetLevelTextList(sensorSPK);
- btnLevel = new Button()
- {
- X = Application.GetRealWidth(25),
- Y = Application.GetRealWidth(59),
- Width = Application.GetRealWidth(100),
- Height = Application.GetRealWidth(32),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1],
- TextSize = CSS_FontSize.SubheadingFontSize,
- TextID = levelTextList[curLevel - 1],
- Tag = "SensorLevel",
- };
- this.AddChidren(btnLevel);
+// var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
+// var levelTextList = sensorTemp.GetLevelTextList(sensor);
+// btnLevel = new Button()
+// {
+// X = Application.GetRealWidth(25),
+// Y = Application.GetRealWidth(59),
+// Width = Application.GetRealWidth(100),
+// Height = Application.GetRealWidth(32),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = sensorTemp.GetLevelColorList(sensor)[curLevel - 1],
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// Text = levelTextList[curLevel - 1],
+// Tag = "SensorLevel",
+// };
+// this.AddChidren(btnLevel);
- btnLevel.MouseUpEventHandler = (sender, e) =>
- {
- #region
- var esp = new EnvironmentalSensorPage(sensor,sensorList);
- MainPage.BasePageView.AddChidren(esp);
- esp.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- #endregion
- };
+// btnLevel.MouseUpEventHandler = (sender, e) =>
+// {
+// #region
+// var esp = new EnvironmentalSensorPage(sensor,sensorList);
+// MainPage.BasePageView.AddChidren(esp);
+// esp.LoadPage();
+// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+// #endregion
+// };
- btnSensorValues = new Button()
- {
- X = Application.GetRealWidth(25),
- Y = Application.GetRealWidth(83),
- Width = Application.GetRealWidth(100),
- Height = Application.GetRealWidth(27),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.PromptingColor1,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- IsBold = true,
- Text = assembleValues.ToString(),
- Tag = "SensorValues"
- };
- this.AddChidren(btnSensorValues);
- btnSensorValues.MouseUpEventHandler = (sender, e) =>
- {
- #region
- var esp = new EnvironmentalSensorPage(sensor,sensorList);
- MainPage.BasePageView.AddChidren(esp);
- esp.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- #endregion
- };
- }
+// btnSensorValues = new Button()
+// {
+// X = Application.GetRealWidth(25),
+// Y = Application.GetRealWidth(83),
+// Width = Application.GetRealWidth(100),
+// Height = Application.GetRealWidth(27),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// IsBold = true,
+// Text = assembleValues.ToString(),
+// Tag = "SensorValues"
+// };
+// this.AddChidren(btnSensorValues);
+// btnSensorValues.MouseUpEventHandler = (sender, e) =>
+// {
+// #region
+// var esp = new EnvironmentalSensorPage(sensor,sensorList);
+// MainPage.BasePageView.AddChidren(esp);
+// esp.LoadPage();
+// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+// #endregion
+// };
+// }
- /// <summary>
- /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭�
- /// </summary>
- void LoadInfo(string sensorSPK)
- {
- var levelColorList = sensorTemp.GetLevelColorList(sensorSPK);
- var levelTextList = sensorTemp.GetLevelTextList(sensorSPK);
- Dialog dialog = new Dialog();
+// /// <summary>
+// /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭�
+// /// </summary>
+// void LoadInfo(string sensorSPK)
+// {
+// var levelColorList = sensorTemp.GetLevelColorList(sensorSPK);
+// var levelTextList = sensorTemp.GetLevelTextList(sensorSPK);
+// Dialog dialog = new Dialog();
- FrameLayout dialogBodyView = new FrameLayout();
- dialog.AddChidren(dialogBodyView);
- dialogBodyView.MouseUpEventHandler = (sender, e) =>
- {
- dialog.Close();
- };
- VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
- Radius = (uint)Application.GetRealWidth(12),
- BackgroundColor = CSS_Color.MainBackgroundColor,
- Animate = Animate.DownToUp,
- ScrollEnabled = false,
- AnimateSpeed = 0.3f,
- };
- dialogBodyView.AddChidren(infoView);
+// FrameLayout dialogBodyView = new FrameLayout();
+// dialog.AddChidren(dialogBodyView);
+// dialogBodyView.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// };
+// VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
+// Radius = (uint)Application.GetRealWidth(12),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Animate = Animate.DownToUp,
+// ScrollEnabled = false,
+// AnimateSpeed = 0.3f,
+// };
+// dialogBodyView.AddChidren(infoView);
- Button btnTitle = new Button()
- {
- Height = Application.GetRealHeight(50),
- TextColor = CSS_Color.FirstLevelTitleColor,
- IsBold = true,
- TextSize = CSS_FontSize.SubheadingFontSize,
- TextAlignment = TextAlignment.Center,
- };
- infoView.AddChidren(btnTitle);
+// Button btnTitle = new Button()
+// {
+// Height = Application.GetRealHeight(50),
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// IsBold = true,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// TextAlignment = TextAlignment.Center,
+// };
+// infoView.AddChidren(btnTitle);
- switch (sensorSPK)
- {
- case SPK.SensorPm25:
- btnTitle.Text = "PM2.5(ug/m虏)";
- break;
- case SPK.SensorTemperature:
- btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
- break;
- case SPK.SensorTVOC:
- btnTitle.Text = "TVOC(PPB)";
- break;
- case SPK.SensorCO2:
- btnTitle.Text = "CO2(PPM)";
- break;
- case SPK.SensorHumidity:
- btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
- break;
- case SPK.SensorHcho:
- btnTitle.Text = Language.StringByID(StringId.Formaldehyde) + "(mg/m3)";
- break;
- }
+// switch (sensorSPK)
+// {
+// case SPK.SensorPm25:
+// btnTitle.Text = "PM2.5(ug/m虏)";
+// break;
+// case SPK.SensorTemperature:
+// btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
+// break;
+// case SPK.SensorTVOC:
+// btnTitle.Text = "TVOC(PPB)";
+// break;
+// case SPK.SensorCO2:
+// btnTitle.Text = "CO2(PPM)";
+// break;
+// case SPK.SensorHumidity:
+// btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
+// break;
+// case SPK.SensorHcho:
+// btnTitle.Text = Language.StringByID(StringId.Formaldehyde) + "(mg/m3)";
+// break;
+// }
- FrameLayout subTitleView = new FrameLayout()
- {
- Height = Application.GetRealHeight(44),
- };
- infoView.AddChidren(subTitleView);
+// FrameLayout subTitleView = new FrameLayout()
+// {
+// Height = Application.GetRealHeight(44),
+// };
+// infoView.AddChidren(subTitleView);
- subTitleView.AddChidren(new Button()
- {
- X = Application.GetRealWidth(20),
- Width = Application.GetRealWidth(100),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- IsBold = true,
- TextID = StringId.IntervalValue,
- });
+// subTitleView.AddChidren(new Button()
+// {
+// X = Application.GetRealWidth(20),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// IsBold = true,
+// TextID = StringId.IntervalValue,
+// });
- subTitleView.AddChidren(new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(100),
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- IsBold = true,
- TextID = StringId.LevelSensor,
- });
+// subTitleView.AddChidren(new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.Center,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// IsBold = true,
+// TextID = StringId.LevelSensor,
+// });
- subTitleView.AddChidren(new Button()
- {
- X = Application.GetRealWidth(223),
- Width = Application.GetRealWidth(100),
- TextAlignment = TextAlignment.CenterRight,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- IsBold = true,
- TextID = StringId.ColorValue,
- });
- for (int index = 0; index < levelTextList.Count; index++)
- {
- infoView.AddChidren(new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(303),
- Height = Application.GetRealWidth(1),
- BackgroundColor = CSS_Color.DividingLineColor,
- });
+// subTitleView.AddChidren(new Button()
+// {
+// X = Application.GetRealWidth(223),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// IsBold = true,
+// TextID = StringId.ColorValue,
+// });
+// for (int index = 0; index < levelTextList.Count; index++)
+// {
+// infoView.AddChidren(new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(303),
+// Height = Application.GetRealWidth(1),
+// BackgroundColor = CSS_Color.DividingLineColor,
+// });
- FrameLayout subInfoView = new FrameLayout()
- {
- Height = Application.GetRealHeight(44),
- };
- infoView.AddChidren(subInfoView);
+// FrameLayout subInfoView = new FrameLayout()
+// {
+// Height = Application.GetRealHeight(44),
+// };
+// infoView.AddChidren(subInfoView);
- subInfoView.AddChidren(new Button()
- {
- X = Application.GetRealWidth(20),
- Width = Application.GetRealWidth(100),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- IsBold = true,
- Text = sensorTemp.GetIntervalValue(sensorSPK)[index]
- });
+// subInfoView.AddChidren(new Button()
+// {
+// X = Application.GetRealWidth(20),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// IsBold = true,
+// Text = sensorTemp.GetIntervalValue(sensorSPK)[index]
+// });
- subInfoView.AddChidren(new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(100),
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- IsBold = true,
- TextID = levelTextList[index]
- });
+// subInfoView.AddChidren(new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.Center,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// IsBold = true,
+// TextID = levelTextList[index]
+// });
- subInfoView.AddChidren(new Button()
- {
- X = Application.GetRealWidth(285),
- Gravity = Gravity.CenterVertical,
- Width = Application.GetRealWidth(38),
- Height = Application.GetRealHeight(18),
- Radius = (uint)Application.GetRealWidth(4),
- BackgroundColor = levelColorList[index]
- });
- }
+// subInfoView.AddChidren(new Button()
+// {
+// X = Application.GetRealWidth(285),
+// Gravity = Gravity.CenterVertical,
+// Width = Application.GetRealWidth(38),
+// Height = Application.GetRealHeight(18),
+// Radius = (uint)Application.GetRealWidth(4),
+// BackgroundColor = levelColorList[index]
+// });
+// }
- dialog.Show();
- }
+// dialog.Show();
+// }
- public void calculateAverage()
- {
- assembleValues = 0;
- foreach (var s in sensorList)
- {
- assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
- }
- }
+// public void calculateAverage()
+// {
+// assembleValues = 0;
+// foreach (var s in sensorList)
+// {
+// assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
+// }
+// }
- /// <summary>
- /// 鏇存柊鐘舵��
- /// </summary>
- /// <param name="updateTemp"></param>
- public void UpdataStatus(string spk ,string sid,string value)
- {
- try
- {
- if (spk == sensorSPK)
- {
- var temp = sensorList.Find((obj) => obj.sid == sid);
- if(temp!= null)
- {
- temp.SetAttrState("value", value);
- }
- calculateAverage();
+// /// <summary>
+// /// 鏇存柊鐘舵��
+// /// </summary>
+// /// <param name="updateTemp"></param>
+// public void UpdataStatus(string spk ,string sid,string value)
+// {
+// try
+// {
+// if (spk == sensorSPK)
+// {
+// var temp = sensorList.Find((obj) => obj.sid == sid);
+// if(temp!= null)
+// {
+// temp.SetAttrState("value", value);
+// }
+// calculateAverage();
- btnSensorValues.Text = assembleValues.ToString();
+// btnSensorValues.Text = assembleValues.ToString();
- var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
+// var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
- btnLevel.TextID = sensorTemp.GetLevelTextList(sensorSPK)[curLevel- 1];
- btnLevel.TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1];
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
- }
- }
+// btnLevel.TextID = sensorTemp.GetLevelTextList(sensorSPK)[curLevel- 1];
+// btnLevel.TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1];
+// }
+// }
+// catch (Exception ex)
+// {
+// MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
+// }
+// }
- }
+// }
-}
+//}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
index ea27379..d7acf79 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
@@ -347,8 +347,8 @@
/// </summary>
void LoadSensorDiv(Function sensor,int index)
{
- var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
- var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
+ var levelColorList = sensorTemp.GetLevelColorList(sensor);
+ var levelTextList = sensorTemp.GetLevelTextList(sensor);
{
var sensorTag = sensor.spk + sensor.sid + sensor.deviceId;
FrameLayout sensorView = new FrameLayout()
@@ -438,9 +438,9 @@
Width = Application.GetRealWidth(100),
Height = Application.GetRealWidth(32),
TextAlignment = TextAlignment.CenterLeft,
- TextColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1],
+ TextColor = sensorTemp.GetLevelColorList(sensor)[sensorTemp.GetCurLevel(sensor) - 1],
TextSize = CSS_FontSize.SubheadingFontSize,
- TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
+ Text = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
Tag = "SensorLevel",
};
sensorView.AddChidren(btnLevel);
@@ -488,8 +488,8 @@
/// </summary>
void LoadInfo(Function sensor)
{
- var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
- var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
+ var levelColorList = sensorTemp.GetLevelColorList(sensor);
+ var levelTextList = sensorTemp.GetLevelTextList(sensor);
Dialog dialog = new Dialog();
FrameLayout dialogBodyView = new FrameLayout();
@@ -525,22 +525,22 @@
switch (sensor.spk)
{
case SPK.SensorPm25:
- btnTitle.Text = "PM2.5(ug/m虏)";
+ btnTitle.Text = $"PM2.5({sensorTemp.Unit(sensor)})";
break;
case SPK.SensorTemperature:
- btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
+ btnTitle.Text = Language.StringByID(StringId.Temp) + $"({sensorTemp.Unit(sensor)})";
break;
case SPK.SensorTVOC:
- btnTitle.Text = "TVOC(PPB)";
+ btnTitle.Text = $"TVOC({sensorTemp.Unit(sensor)})";
break;
case SPK.SensorCO2:
- btnTitle.Text = "CO2(PPM)";
+ btnTitle.Text = $"CO2({sensorTemp.Unit(sensor)})";
break;
case SPK.SensorHumidity:
- btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
+ btnTitle.Text = Language.StringByID(StringId.Humidity) + $"({sensorTemp.Unit(sensor)})";
break;
case SPK.SensorHcho:
- btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +"(mg/m3)";
+ btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +$"({sensorTemp.Unit(sensor)})";
break;
}
@@ -606,7 +606,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
IsBold = true,
- Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
+ Text = sensorTemp.GetIntervalValue(sensor)[index]
});
subInfoView.AddChidren(new Button()
@@ -617,7 +617,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
IsBold = true,
- TextID = levelTextList[index]
+ Text = levelTextList[index]
});
subInfoView.AddChidren(new Button()
@@ -865,16 +865,16 @@
}
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];
+ (btn as Button).Text = bodyView.sensorTemp.GetLevelTextList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+ (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
}
}
}
else if (btn.GetType() == typeof(ArcSeekBar))
{
- (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+ (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
- (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp);
+ (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp);
}
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 698b5aa..0505d7d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -149,383 +149,383 @@
historyDataView.AddChidren(myEchartsView);
#region 搴曢儴绛夌骇鎻愮ず
- HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealWidth(348),
- Width = Application.GetRealWidth(303),
- Height = Application.GetRealHeight(30),
- };
- diagramView.AddChidren(tipValuesView);
+ //HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout()
+ //{
+ // Gravity = Gravity.CenterHorizontal,
+ // Y = Application.GetRealWidth(348),
+ // Width = Application.GetRealWidth(303),
+ // Height = Application.GetRealHeight(30),
+ //};
+ //diagramView.AddChidren(tipValuesView);
- Button btnColorTip = new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = tipValuesView.Bottom,
- Width = Application.GetRealWidth(303),
- Height = Application.GetRealHeight(7),
- UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png",
- };
- diagramView.AddChidren(btnColorTip);
+ //Button btnColorTip = new Button()
+ //{
+ // Gravity = Gravity.CenterHorizontal,
+ // Y = tipValuesView.Bottom,
+ // Width = Application.GetRealWidth(303),
+ // Height = Application.GetRealHeight(7),
+ // UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png",
+ //};
+ //diagramView.AddChidren(btnColorTip);
- HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = btnColorTip.Bottom,
- Width = Application.GetRealWidth(303),
- Height = Application.GetRealHeight(30),
- };
- diagramView.AddChidren(tipTextView);
+ //HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout()
+ //{
+ // Gravity = Gravity.CenterHorizontal,
+ // Y = btnColorTip.Bottom,
+ // Width = Application.GetRealWidth(303),
+ // Height = Application.GetRealHeight(30),
+ //};
+ //diagramView.AddChidren(tipTextView);
- switch (function.spk)
- {
- case SPK.SensorPm25:
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "35",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "75",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "115",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.Great,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.Good,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.MildPollution,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.HeavyPollution,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- break;
- //case SPK.SensorPm25:
- //_intervalValue.Add("0 ~ 35");
- //_intervalValue.Add("36 ~ 75");
- //_intervalValue.Add("76 ~ 115");
- //_intervalValue.Add("115 ~");
- //_levelTextList.Add(StringId.Great);
- //_levelTextList.Add(StringId.Good);
- //_levelTextList.Add(StringId.MildPollution);
- //_levelTextList.Add(StringId.HeavyPollution);
- //break;
- case SPK.SensorCO2:
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "1000",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "2000",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "5000",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTipCO2Level1,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTipCO2Level2,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTipCO2Level3,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTipCO2Level4,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- break;
- case SPK.SensorTemperature:
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(50),
- Text = "18掳C",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(50),
- Text = "20掳C",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(50),
- Text = "25掳C",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(50),
- Text = "27掳C",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(50),
- Text = "30掳C",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(50),
- Text = "33掳C",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- //_intervalValue.Add("~ 18掳C");
- //_intervalValue.Add("18 ~ 20掳C");
- //_intervalValue.Add("20 ~ 25掳C");
- //_intervalValue.Add("25 ~ 27掳C");
- //_intervalValue.Add("27 ~ 30掳C");
- //_intervalValue.Add("30 ~ 33掳C");
- //_intervalValue.Add("33掳C ~");
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.ExtremelyCold,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.SlightlyCold,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.Cold,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.Comfortable,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.TepidFever,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.Heat_SensorTip,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(43),
- TextID = StringId.ExtremeHeat,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- //_levelTextList.Add(StringId.ExtremelyCold);
- //_levelTextList.Add(StringId.);
- //_levelTextList.Add(StringId.);
- //_levelTextList.Add(StringId.);
- //_levelTextList.Add(StringId.);
- //_levelTextList.Add(StringId.);
- //_levelTextList.Add(StringId.ExtremeHeat);
- break;
- case SPK.SensorTVOC:
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "0.6",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "2",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- Text = "5",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTVOCTipLevel1,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTVOCTipLevel2,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTVOCTipLevel3,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(75),
- TextID = StringId.SensorReferenceTVOCTipLevel4,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- break;
- case SPK.SensorHumidity:
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(151),
- Text = "40%",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipValuesView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(151),
- Text = "70%",
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- TextID = StringId.SensorReferenceHumidityTipLevel1,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- TextID = StringId.SensorReferenceHumidityTipLevel2,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- tipTextView.AddChidren(new Button()
- {
- Width = Application.GetRealWidth(101),
- TextID = StringId.SensorReferenceHumidityTipLevel3,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- });
- break;
- }
+ //switch (function.spk)
+ //{
+ // case SPK.SensorPm25:
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "35",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "75",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "115",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.Great,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.Good,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.MildPollution,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.HeavyPollution,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // break;
+ // //case SPK.SensorPm25:
+ // //_intervalValue.Add("0 ~ 35");
+ // //_intervalValue.Add("36 ~ 75");
+ // //_intervalValue.Add("76 ~ 115");
+ // //_intervalValue.Add("115 ~");
+ // //_levelTextList.Add(StringId.Great);
+ // //_levelTextList.Add(StringId.Good);
+ // //_levelTextList.Add(StringId.MildPollution);
+ // //_levelTextList.Add(StringId.HeavyPollution);
+ // //break;
+ // case SPK.SensorCO2:
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "1000",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "2000",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "5000",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTipCO2Level1,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTipCO2Level2,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTipCO2Level3,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTipCO2Level4,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // break;
+ // case SPK.SensorTemperature:
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(50),
+ // Text = "18掳C",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(50),
+ // Text = "20掳C",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(50),
+ // Text = "25掳C",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(50),
+ // Text = "27掳C",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(50),
+ // Text = "30掳C",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(50),
+ // Text = "33掳C",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // //_intervalValue.Add("~ 18掳C");
+ // //_intervalValue.Add("18 ~ 20掳C");
+ // //_intervalValue.Add("20 ~ 25掳C");
+ // //_intervalValue.Add("25 ~ 27掳C");
+ // //_intervalValue.Add("27 ~ 30掳C");
+ // //_intervalValue.Add("30 ~ 33掳C");
+ // //_intervalValue.Add("33掳C ~");
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.ExtremelyCold,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.SlightlyCold,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.Cold,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.Comfortable,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.TepidFever,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.Heat_SensorTip,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(43),
+ // TextID = StringId.ExtremeHeat,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // //_levelTextList.Add(StringId.ExtremelyCold);
+ // //_levelTextList.Add(StringId.);
+ // //_levelTextList.Add(StringId.);
+ // //_levelTextList.Add(StringId.);
+ // //_levelTextList.Add(StringId.);
+ // //_levelTextList.Add(StringId.);
+ // //_levelTextList.Add(StringId.ExtremeHeat);
+ // break;
+ // case SPK.SensorTVOC:
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "0.6",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "2",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // Text = "5",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTVOCTipLevel1,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTVOCTipLevel2,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTVOCTipLevel3,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(75),
+ // TextID = StringId.SensorReferenceTVOCTipLevel4,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // break;
+ // case SPK.SensorHumidity:
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(151),
+ // Text = "40%",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipValuesView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(151),
+ // Text = "70%",
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // TextID = StringId.SensorReferenceHumidityTipLevel1,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // TextID = StringId.SensorReferenceHumidityTipLevel2,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // tipTextView.AddChidren(new Button()
+ // {
+ // Width = Application.GetRealWidth(101),
+ // TextID = StringId.SensorReferenceHumidityTipLevel3,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ // });
+ // break;
+ //}
#endregion
@@ -659,6 +659,10 @@
int index = 1;
foreach (var tempSensor in sensorList)
{
+ if (index > 5)
+ {
+ break;
+ }
if (tempSensor.sid == function.sid)
{
continue;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
index 09d981d..fc62ae0 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
@@ -155,7 +155,11 @@
function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress);
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString());
- d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
+ d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
+ if (dimmerBar.Progress > 0)
+ {
+ d.Add(FunctionAttributeKey.OnOff, "on");
+ }
Control.Ins.SendWriteCommand(function, d);
//function.fadeTime = barFadeTime.Progress;
btnBrightnessText.Text = dimmerBar.Progress + "%";
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
index 400c887..3205232 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
@@ -93,6 +93,7 @@
dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
{
onDimmerBar = true;
+ dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
};
dimmerBar.OnStopTrackingTouchEvent = (sender, e) =>
{
@@ -100,13 +101,17 @@
function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress);
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString());
+ if(dimmerBar.Progress > 0)
+ {
+ d.Add(FunctionAttributeKey.OnOff, "on");
+ }
Control.Ins.SendWriteCommand(function, d);
btnBrightnessText.Text = dimmerBar.Progress + "%";
};
//20201223 鍒犻櫎婊戝姩鍙戦�佸懡浠わ紝闃叉鎺т欢璺冲姩
dimmerBar.OnProgressChangedEvent = (sender, e) =>
{
- dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+
//function.fadeTime = 0;
//if (!btnSwitch.IsSelected)
//{
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs
new file mode 100644
index 0000000..abb5549
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs
@@ -0,0 +1,174 @@
+锘縰sing System;
+using HDL_ON.Entity;
+using HDL_ON.Stan;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI
+{
+ public class EnvironmentPanelPage : DeviceFunction4CardCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 鍥炬爣
+ /// </summary>
+ private IconViewControl btnIcon = null;
+ /// <summary>
+ /// 鏂囨湰鎺т欢
+ /// </summary>
+ private NormalViewControl btnSuctionView = null;
+
+ Function acDevice;
+ Function fhDevice;
+ Function airFreshDevice;
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
+ /// </summary>
+ public override void InitFrameWhiteContent()
+ {
+ base.ShowColltionButton = false;
+ base.SetTitleText(Language.StringByID(StringId.SmartPanel));
+ foreach (var sid in device.targetSids)
+ {
+ var targetObj = FunctionList.List.Functions.Find((obj) => sid == obj.sid);
+ if (targetObj == null)
+ {
+ continue;
+ }
+ if (SPK.AcSpkList().Contains(targetObj.spk))
+ {
+ acDevice = targetObj;
+ }
+ else if (SPK.FhSpkList().Contains(targetObj.spk))
+ {
+ fhDevice = targetObj;
+ }
+ else if (SPK.AirFreshSpkList().Contains(targetObj.spk))
+ {
+ airFreshDevice = targetObj;
+ }
+ }
+
+ //娣诲姞绗簩绱㈠紩椤�
+ this.Add4Page();
+ //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ this.InitFrameWhiteContent1();
+ //鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
+ this.InitFrameWhiteContent2();
+ this.InitFrameWhiteContent3();
+ //鍒锋柊鐣岄潰鐘舵��
+ //this.RefreshFormStatu();
+ //璇诲彇鐘舵��
+ //new System.Threading.Thread(() =>
+ //{
+ // DriverLayer.Control.Ins.SendReadCommand(device);
+ //})
+ //{ IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ /// </summary>
+ private void InitFrameWhiteContent1()
+ {
+ btnIcon = new IconViewControl(198)
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealWidth(146),
+ UnSelectedImagePath = "FunctionIcon/Panel/PanelHelpNormalBgIcon.png",
+ SelectedImagePath = "FunctionIcon/Panel/PanelHelpAlarmBgIcon.png",
+ };
+ FrameWhiteCentet1.AddChidren(btnIcon);
+
+ btnSuctionView = new NormalViewControl(300, 84, true)
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnIcon.Bottom,
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.MainColor,
+ SelectedTextColor = CSS_Color.AuxiliaryColor2,
+ //BackgroundColor = 0xFFFF0000
+ };
+ FrameWhiteCentet1.AddChidren(btnSuctionView);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
+ /// </summary>
+ private void InitFrameWhiteContent2()
+ {
+ var acPage = new UI2.FuntionControlView.Panel.AcContentView(acDevice);
+ FrameWhiteCentet2.AddChidren(acPage);
+ acPage.InitContent();
+ }
+
+ private void InitFrameWhiteContent3()
+ {
+ var fhPage = new FhContentView(fhDevice);
+ FrameWhiteCentet3.AddChidren(fhPage);
+ fhPage.InitContentView(true);
+ }
+
+ #endregion
+
+ #region 鈻� 璁惧鐘舵�佸弽棣坃______________________
+
+ /// <summary>
+ /// 璁惧鐘舵�佸弽棣�
+ /// </summary>
+ /// <param name="i_LocalDevice"></param>
+ public override void DeviceStatuPush(Function i_LocalDevice)
+ {
+ //涓嶆槸鍚屼竴涓笢瑗�
+ if (this.device.sid != i_LocalDevice.sid) { return; }
+
+ //鍒锋柊鐣岄潰鐘舵��
+ this.RefreshFormStatu();
+ }
+
+ #endregion
+
+ #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
+
+ #endregion
+
+ #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
+
+ /// <summary>
+ /// 鍒锋柊鐣岄潰鐘舵��
+ /// </summary>
+ private void RefreshFormStatu()
+ {
+ Application.RunOnMainThread(() => {
+ var temp = device.attributes.Find((sta) => sta.key == "alarm_status");
+ if (temp != null)
+ {
+ if (temp.state == "alarm")
+ {
+ btnIcon.IsSelected = true;
+ btnSuctionView.TextID = StringId.InAlarm;
+ btnSuctionView.IsSelected = true;
+ }
+ else
+ {
+ btnIcon.IsSelected = false;
+ btnSuctionView.TextID = StringId.SensorNormalState;
+ btnSuctionView.IsSelected = false;
+ }
+ }
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ #endregion
+ }
+}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs
new file mode 100644
index 0000000..1350a45
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs
@@ -0,0 +1,142 @@
+锘縰sing System;
+using HDL_ON.Entity;
+using HDL_ON.Stan;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI.UI2.FuntionControlView.Panel
+{
+ public class PanelHelpPage : DeviceFunctionCardCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 鍥炬爣
+ /// </summary>
+ private IconViewControl btnIcon = null;
+ /// <summary>
+ /// 鏂囨湰鎺т欢
+ /// </summary>
+ private NormalViewControl btnSuctionView = null;
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
+ /// </summary>
+ public override void InitFrameWhiteContent()
+ {
+ base.ShowColltionButton = false;
+ base.SetTitleText(Language.StringByID(StringId.SmartPanel));
+
+ //娣诲姞绗簩绱㈠紩椤�
+ this.AddSecondPage();
+ //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ this.InitFrameWhiteContent1();
+ //鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
+ this.InitFrameWhiteContent2();
+ //鍒锋柊鐣岄潰鐘舵��
+ this.RefreshFormStatu();
+ //璇诲彇鐘舵��
+ new System.Threading.Thread(() =>
+ {
+ DriverLayer.Control.Ins.SendReadCommand(device);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
+ /// </summary>
+ private void InitFrameWhiteContent1()
+ {
+ btnIcon = new IconViewControl(198)
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealWidth(146),
+ UnSelectedImagePath = "FunctionIcon/Panel/PanelHelpNormalBgIcon.png",
+ SelectedImagePath = "FunctionIcon/Panel/PanelHelpAlarmBgIcon.png",
+ };
+ FrameWhiteCentet1.AddChidren(btnIcon);
+
+ btnSuctionView = new NormalViewControl(300, 84, true)
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnIcon.Bottom,
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.MainColor,
+ SelectedTextColor = CSS_Color.AuxiliaryColor2,
+ //BackgroundColor = 0xFFFF0000
+ };
+ FrameWhiteCentet1.AddChidren(btnSuctionView);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
+ /// </summary>
+ private void InitFrameWhiteContent2()
+ {
+ var paging = new ArmSensorHistroyPaging(device);
+ paging.InitFrame(FrameWhiteCentet2);
+ }
+
+ #endregion
+
+ #region 鈻� 璁惧鐘舵�佸弽棣坃______________________
+
+ /// <summary>
+ /// 璁惧鐘舵�佸弽棣�
+ /// </summary>
+ /// <param name="i_LocalDevice"></param>
+ public override void DeviceStatuPush(Function i_LocalDevice)
+ {
+ //涓嶆槸鍚屼竴涓笢瑗�
+ if (this.device.sid != i_LocalDevice.sid) { return; }
+
+ //鍒锋柊鐣岄潰鐘舵��
+ this.RefreshFormStatu();
+ }
+
+ #endregion
+
+ #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
+
+ #endregion
+
+ #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
+
+ /// <summary>
+ /// 鍒锋柊鐣岄潰鐘舵��
+ /// </summary>
+ private void RefreshFormStatu()
+ {
+ Application.RunOnMainThread(() => {
+ var temp = device.attributes.Find((sta) => sta.key == "alarm_status");
+ if (temp != null)
+ {
+ if (temp.state == "alarm")
+ {
+ btnIcon.IsSelected = true;
+ btnSuctionView.TextID = StringId.InAlarming;
+ btnSuctionView.IsSelected = true;
+ }
+ else
+ {
+ btnIcon.IsSelected = false;
+ btnSuctionView.TextID = StringId.Monitoring;
+ btnSuctionView.IsSelected = false;
+ }
+ }
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ #endregion
+ }
+}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
index fc82b32..36e51aa 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
@@ -132,6 +132,11 @@
/// </summary>
public string deviceName = string.Empty;
/// <summary>
+ /// 鍖哄垎鏄媱鑰愬厠杩樻槸鑷爺
+ /// 鐩墠鍙湁鑷爺鏈夊�硷細door.gate
+ /// </summary>
+ public string spk = string.Empty;
+ /// <summary>
/// 璁惧id銆佸簭鍒楀彿銆乽uid
/// </summary>
public string deviceId = string.Empty;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index 6d0dd75..b1c8fb3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -2,14 +2,16 @@
using HDL_ON.UI.Music;
using System.Collections.Generic;
using Shared;
-using HDL_ON.Stan;
-using ZXing.QrCode.Internal;
-using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod;
+using HDL_ON.UI.CSS;
namespace HDL_ON.UI.UI2.FuntionControlView.Video
{
public class VideoMainView : FrameLayout
{
+
+ List<Video> ximoVideoList = new List<Video>();
+
+
/// <summary>
/// 鍔犺浇鍙瀵硅UI
/// </summary>
@@ -17,6 +19,8 @@
/// <param name="videoList">鍙瀵硅鍒楄〃</param>
public void Show(List<CallView> listCall, List<Video> videoList)
{
+ ximoVideoList = videoList.FindAll((obj) => obj.spk == "door.gate");
+
#region 甯冨眬鐣岄潰
this.BackgroundColor = MusicColor.ViewColor;
var topView = new TopView();
@@ -191,11 +195,17 @@
};
bjFl.AddChidren(vv);
- bool bol = haveFlVideo(videoList);
+ bool bol = haveQRCodeVideo(videoList);
if (bol)
{
//闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�,铏氭嫙涓�涓嚭鏉�
- videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100" });
+ videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100",devType = "100" });
+ }
+ if (ximoVideoList.Count > 0)
+ {
+ //寰樺緤鎶ヨ
+ videoList.Add(new Video { deviceName = Language.StringByID(StringId.WanderingAlarm), interphoneType = "222", devType = "222" });
+
}
//鏁扮粍涓暟
//int value = 15;
@@ -217,10 +227,13 @@
};
vv.AddChidren(fL);
int line = 0;
+
+
#endregion
for (int i = 1, j = 0; i <= videoList.Count; i++, j++)
{
var video = videoList[i - 1];
+
#region
var fLayout = new FrameLayout
{
@@ -239,6 +252,7 @@
UnSelectedImagePath = "VideoIcon/weiqiangji.png",
};
fLayout.AddChidren(iconBtn);
+
var deviceNameBtn = new Button
{
@@ -267,19 +281,28 @@
//闂ㄥ彛鏈虹殑鐐瑰嚮浜嬩欢
clickBtn.MouseUpEventHandler += (sender, e) =>
{
+ if (video.devType == "VisitorQrCode")
+ {
+
+ return;
+ }
+ else if (video.devType == "FaceManagement")
+ {
+
+ return;
+ }
+
var video2 = clickBtn.Tag as Video;
if (video2.devType == "100")
{
- //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
- VideoSend.GetQRcode(this, video2, (tag, paw) =>
- {
- if (tag)
- {
- //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
- View.ShowDialog showDialog = new View.ShowDialog();
- showDialog.QRcode(paw);
- }
- });
+ ChooseVideoShowQRCode();
+
+ }
+ else if(video2.devType == "222")
+ {
+ ChooseAlarmShow();
+
+
}
else
{
@@ -544,20 +567,273 @@
//鍒ゆ柇鏄惁鏈� 涓版灄鍙瀵硅
- private bool haveFlVideo(List<Video> videoList)
+ private bool haveQRCodeVideo(List<Video> videoList)
{
bool bol = false;
for (int i = 0; i < videoList.Count; i++)
{
var _video = videoList[i];
- if (_video.interphoneType == "FLVI")
+ if (_video.interphoneType == "FLVI"|| _video.spk == "door.gate")
+ {
return true;
+ }
}
return bol;
}
+
+ /// <summary>
+ /// 鑾峰彇闂ㄧ浜岀淮鐮�
+ /// </summary>
+ public void ChooseVideoShowQRCode()
+ {
+ Dialog dialog = new Dialog()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+
+ FrameLayout dialogView = new FrameLayout();
+ dialog.AddChidren(dialogView);
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+
+ var contentView = new FrameLayout()
+ {
+ Gravity = Gravity.Center,
+ Width = Application.GetRealWidth(270),
+ Height = Application.GetRealHeight(280),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ BorderColor = 0x00000000,
+ BorderWidth = 0,
+ Radius = (uint)Application.GetMinRealAverage(10),
+ };
+ dialogView.AddChidren(contentView);
+
+ var btnTitle = new Button()
+ {
+ Height = Application.GetRealHeight(64),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextID = StringId.menjinerweima,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ };
+ contentView.AddChidren(btnTitle);
+
+ var listView = new VerticalScrolViewLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(70),
+ Width = Application.GetRealWidth(230),
+ Height = Application.GetRealHeight(200),
+ };
+ contentView.AddChidren(listView);
+
+ //if (ximoVideoList.Count == 1)
+ {
+ Loading loading = new Loading();
+ contentView.AddChidren(loading);
+ loading.Start("");
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var pack = VideoSend.GetQRcode();
+ var pairs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AccessControlQRode>>(pack.Data.ToString());
+ if (pairs.Count > 0)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ ImageView codeImage = new ImageView()
+ {
+ Gravity = Gravity.Center,
+ Height = Application.GetRealWidth(320),
+ Width = Application.GetRealWidth(320),
+ ImageBytes = Scan.BytesFromText(pairs[0].qrcode, Application.GetRealWidth(200), Application.GetRealWidth(200)),
+ };
+ dialogView.AddChidren(codeImage);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鑾峰彇闂ㄧ浜岀淮鐮佸紓甯革細{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (loading != null)
+ {
+ loading.Hide();
+ loading.RemoveFromParent();
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ //else
+ //{
+
+ // foreach (var v in ximoVideoList)
+ // {
+ // Button btnMsg = new Button()
+ // {
+ // Gravity = Gravity.CenterHorizontal,
+ // Height = Application.GetRealHeight(50),
+ // Width = Application.GetRealHeight(160),
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = CSS_Color.TextualColor,
+ // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ // Text = v.deviceName,
+ // Radius = (uint)Application.GetRealWidth(5),
+ // BackgroundColor = CSS_Color.DividingLineColor,
+ // IsMoreLines = true,
+ // };
+ // listView.AddChidren(btnMsg);
+
+ // listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
+
+ // btnMsg.MouseUpEventHandler = (sender, e) =>
+ // {
+
+
+ // if (v.spk == "door.gate")
+ // {
+
+ // return;
+ // }
+
+ // //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
+ // VideoSend.GetQRcode(this, v, (tag, paw) =>
+ // {
+ // if (tag)
+ // {
+ // //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
+ // View.ShowDialog showDialog = new View.ShowDialog();
+ // showDialog.QRcode(paw);
+ // }
+ // });
+ // dialog.Close();
+ // };
+ // }
+ //}
+ dialog.Show();
+
+ }
+
+ /// <summary>
+ /// 閫夋嫨寰樺緤鎶ヨ鍒楄〃鏄剧ず
+ /// </summary>
+ public void ChooseAlarmShow()
+ {
+ if (ximoVideoList.Count == 1)
+ {
+ var wanderingAlarmPage = new WanderingAlarmPage(ximoVideoList[0].deviceId);
+ MainPage.BasePageView.AddChidren(wanderingAlarmPage);
+ wanderingAlarmPage.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+ }
+ else
+ {
+ Dialog dialog = new Dialog()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+
+ FrameLayout dialogView = new FrameLayout();
+ dialog.AddChidren(dialogView);
+ dialogView.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+
+ var contentView = new FrameLayout()
+ {
+ Gravity = Gravity.Center,
+ Width = Application.GetRealWidth(270),
+ Height = Application.GetRealHeight(280),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ BorderColor = 0x00000000,
+ BorderWidth = 0,
+ Radius = (uint)Application.GetMinRealAverage(10),
+ };
+ dialogView.AddChidren(contentView);
+
+ var btnTitle = new Button()
+ {
+ Height = Application.GetRealHeight(64),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextID = StringId.WanderingAlarm,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ };
+ contentView.AddChidren(btnTitle);
+
+ var listView = new VerticalScrolViewLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(70),
+ Width = Application.GetRealWidth(230),
+ Height = Application.GetRealHeight(200),
+ };
+ contentView.AddChidren(listView);
+
+
+ foreach (var v in ximoVideoList)
+ {
+ Button btnMsg = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Height = Application.GetRealHeight(50),
+ Width = Application.GetRealHeight(160),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ Text = v.deviceName,
+ Radius = (uint)Application.GetRealWidth(5),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ IsMoreLines = true,
+ };
+ listView.AddChidren(btnMsg);
+
+ listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
+
+ btnMsg.MouseUpEventHandler = (sender, e) =>
+ {
+
+
+ var wanderingAlarmPage = new WanderingAlarmPage(v.deviceId);
+ MainPage.BasePageView.AddChidren(wanderingAlarmPage);
+ wanderingAlarmPage.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+ dialog.Close();
+ };
+ }
+ dialog.Show();
+ }
+
+ }
+
+
}
+ public class AccessControlQRode
+ {
+ public string title = string.Empty;
+ public string codeType = string.Empty;
+ public string userName = string.Empty;
+ public string houseFullName = string.Empty;
+ public string communityName = string.Empty;
+ public string desc = string.Empty;
+ public string businessType = string.Empty;
+ public string qrcode = string.Empty;
+ }
+
+
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
index ae759bb..9388f8b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
@@ -3,6 +3,7 @@
using System.IO;
using System.Net;
using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
using HDL_ON.UI.UI2.PersonalCenter.PirDevice;
using Newtonsoft.Json.Linq;
using Shared;
@@ -81,6 +82,18 @@
return revertObj;
}
+ public static ResponsePackNew GetQRcode()
+ {
+ var jobject = new JObject();
+ jobject.Add("userId", UserInfo.Current.ID);
+ jobject.Add("userType", "C");
+ jobject.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id);
+ jobject.Add("codeSecond", "60");
+ var requestJson = HttpUtil.GetSignRequestJson(jobject);//鏁版嵁绛惧悕
+ var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_OwnerQRCode, requestJson);
+ return revertObj;
+ }
+
/// <summary>
/// 涓婃姤鍔ㄦ�佸紑閿佸瘑鐮�(娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥)
/// </summary>
@@ -90,12 +103,21 @@
bool if_bool = false;
//涓存椂瀵嗙爜
string pwd = VideoMethod.GetCode();
- var jobject = new JObject();
jobject.Add("communityID", video.flRoomBindVO.flCmtId);//绀惧尯ID
- jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//寮�濮嬫椂闂�
- jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//鏈夋晥鏃堕棿
- jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//鍗曞厓鍙�
- jobject.Add("roomno", video.flRoomBindVO.flRoomId);//鎴块棿鍙�
- jobject.Add("code", pwd);
jobject.Add("userKey", video.flRoomBindVO.id);
jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());
jobject.Add("secretKey", video.flRoomBindVO.flSecretKey);
jobject.Add("method", "setdynamicpwd");
jobject.Add("numTimes", "5");
+ var jobject = new JObject();
+
+
+ jobject.Add("communityID", video.flRoomBindVO.flCmtId);//绀惧尯ID
+ jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//寮�濮嬫椂闂�
+ jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//鏈夋晥鏃堕棿
+ jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//鍗曞厓鍙�
+ jobject.Add("roomno", video.flRoomBindVO.flRoomId);//鎴块棿鍙�
+ jobject.Add("code", pwd);
+ jobject.Add("userKey", video.flRoomBindVO.id);
+ jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());
+ jobject.Add("secretKey", video.flRoomBindVO.flSecretKey);
+ jobject.Add("method", "setdynamicpwd");
+ jobject.Add("numTimes", "5");
+
//鍔犺浇log
Loading loading = new Loading();
frame.AddChidren(loading);
@@ -104,7 +126,9 @@
{
try
{
- var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST");
+ string str = "";
+
+ str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST");
if (!string.IsNullOrEmpty(str))
{
var json = JObject.Parse(str);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs
new file mode 100644
index 0000000..d6b5a5e
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs
@@ -0,0 +1,231 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.UI.CSS;
+using Shared;
+namespace HDL_ON.UI.UI2.FuntionControlView.Video
+{
+ public class WanderingAlarmPage : FrameLayout
+ {
+ FrameLayout bodyView;
+ string deviceId;
+ public WanderingAlarmPage(string deviceId)
+ {
+ bodyView = this;
+ this.deviceId = deviceId;
+ }
+
+ VerticalScrolViewLayout contentView;
+
+ public void LoadPage()
+ {
+ bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
+ new TopViewDiv(bodyView, Language.StringByID(StringId.WanderingAlarm)).LoadTopView();
+
+ var btnTipMsg = new Button()
+ {
+ Y = Application.GetRealHeight(64),
+ X = Application.GetRealWidth(20),
+ Height = Application.GetRealHeight(58),
+ Width = Application.GetRealWidth(318),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ Text = "*鍙瀵硅鍙互鑷姩璇嗗埆闂ㄥ彛鍙枒浜哄憳锛屽苟鍙戣捣寰樺緤鎶ヨ璁板綍"
+ };
+ if(Language.CurrentLanguage != "Chinese")
+ {
+ btnTipMsg.Text = "*Visual intercom can automatically identify suspicious persons at the door and initiate wandering alarm records";
+ }
+ bodyView.AddChidren(btnTipMsg);
+
+ contentView = new VerticalScrolViewLayout()
+ {
+ Y = Application.GetRealHeight(64 + 62),
+ Height = Application.GetRealHeight(550),
+ };
+ bodyView.AddChidren(contentView);
+
+ LoadCloudData(20, 1);
+ }
+
+ /// <summary>
+ /// 璇诲彇浜戠鏁版嵁
+ /// </summary>
+ void LoadCloudData(int pageCount,int pageNo)
+ {
+ Loading loading = new Loading();
+ bodyView.AddChidren(loading);
+ loading.Start("");
+ new System.Threading.Thread(() => {
+ try
+ {
+ HttpServerRequest http = new HttpServerRequest();
+ var pack = http.GetAlarmRecords(deviceId, pageCount,pageNo);
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<AlarmRecordInfoPack>(pack.Data.ToString());
+ Application.RunOnMainThread(() =>
+ {
+ LoadSceneGallery(obj);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"璇诲彇寰樺緤鎶ヨ鏁版嵁寮傚父锛歿ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (loading != null)
+ {
+ loading.Hide();
+ loading.RemoveFromParent();
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+
+ }
+
+ /// <summary>
+ /// 鍔犺浇鍦烘櫙鍥惧簱
+ /// </summary>
+ void LoadSceneGallery(AlarmRecordInfoPack pack)
+ {
+ FrameLayout sceneImageRow = new FrameLayout()
+ {
+ Height = Application.GetRealWidth(128),
+ };
+ new System.Threading.Thread(() =>
+ {
+ for (int i = 0; i < pack.list.Count; i++)
+ {
+ var item = pack.list[i];
+
+ var imageBytes = ImageUtlis.Current.DownImageByImageUrl(item.alarmImg);
+ Application.RunOnMainThread(() =>
+ {
+ var sceneImageView = new ImageView()
+ {
+ Width = Application.GetRealWidth(172),
+ Height = Application.GetRealHeight(90),
+ Radius = (uint)Application.GetRealWidth(12),
+ ImageBytes = imageBytes
+ };
+ var btnTime = new Button()
+ {
+ Width = Application.GetRealHeight(160),
+ Height = Application.GetRealHeight(41),
+ Y = Application.GetRealHeight(90),
+ Text = Utlis.UnixToDateTimeMS(item.alarmTime).ToString(),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextAlignment = TextAlignment.Center
+ };
+ if (i % 2 == 0)
+ {
+ sceneImageRow = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(90 + 53),
+ };
+ contentView.AddChidren(sceneImageRow);
+ sceneImageView.X = Application.GetRealWidth(10);
+ sceneImageRow.AddChidren(sceneImageView);
+ btnTime.X = Application.GetRealWidth(10);
+ sceneImageRow.AddChidren(btnTime);
+
+ }
+ else
+ {
+ sceneImageView.X = Application.GetRealWidth(194);
+ sceneImageRow.AddChidren(sceneImageView);
+
+ btnTime.X = Application.GetRealWidth(194);
+ sceneImageRow.AddChidren(btnTime);
+ }
+
+
+ sceneImageView.MouseUpEventHandler = (sender, e) =>
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout dialogContentView = new FrameLayout();
+ dialog.AddChidren(dialogContentView);
+ dialogContentView.MouseUpEventHandler = (sender2, e2) =>
+ {
+ dialog.Close();
+ };
+ ImageView btnImage = new ImageView()
+ {
+ Gravity = Gravity.Center,
+ Height = Application.GetRealHeight(211),
+ ImageBytes = sceneImageView.ImageBytes,
+ };
+ dialogContentView.AddChidren(btnImage);
+
+
+ dialog.Show();
+ };
+
+ });
+ System.Threading.Thread.Sleep(20);
+
+ }
+ Application.RunOnMainThread(() =>
+ {
+ if (pack.totalPage > pack.pageNo)
+ {
+ var btnLoadMore = new Button()
+ {
+ TextAlignment = TextAlignment.Center,
+ TextID = StringId.GetMore,
+ Height = Application.GetRealHeight(60),
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ };
+ contentView.AddChidren(btnLoadMore);
+ btnLoadMore.MouseUpEventHandler = (sender, e) =>
+ {
+ LoadCloudData(20, pack.pageNo + 1);
+ btnLoadMore.RemoveFromParent();
+ };
+ }
+ });
+
+ })
+ { IsBackground = true }.Start();
+ }
+
+
+ }
+
+ public class AlarmRecordInfoPack
+ {
+ public int totalCount = 0;
+
+ public int totalPage = 0;
+
+ public int pageNo = 0;
+
+ public int pageSize = 0;
+
+ public List<AlarmRecordInfo> list = new List<AlarmRecordInfo>();
+ }
+
+ /// <summary>
+ /// 寰樺緤鎶ヨ淇℃伅
+ /// </summary>
+ public class AlarmRecordInfo
+ {
+ public string alarmImg = string.Empty;
+
+ public long alarmTime;
+
+ public string alarmType = string.Empty;
+
+ public string alarmTypeDesc = string.Empty;
+ }
+}
diff --git a/SiriIntents/Server/HttpUtil.cs b/SiriIntents/Server/HttpUtil.cs
index f61de04..56a78a0 100644
--- a/SiriIntents/Server/HttpUtil.cs
+++ b/SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,8 @@
/// 鍥哄畾鍩熷悕,姝e紡鐜
/// 鍏叡鍩熷悕灏辫繎瑙f瀽
/// </summary>
- public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
- //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
+ //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
+ public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
/// <summary>
/// RegionMark
/// </summary>
--
Gitblit v1.8.0