wxr
2023-10-12 e74a8d9e9dc5ef2120fd811fb03a870efb96a92a
2.3图标内容
12个文件已添加
22个文件已修改
498 ■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_blue.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_white.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_blue.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_white.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensordryContact.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpir_hold.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_blue.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_white.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_blue.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_white.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensordryContact.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpir_hold.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/DriverLayer/Control.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Mqtt/MqttClient.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Function.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePage.cs 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntents/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -682,7 +682,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -2078,6 +2078,7 @@
695=过去一个月的每日数据
696=过去一年的每月数据
697=提示:起始颜色选择越靠近色环边缘,炫彩效果越明显。越靠近白色中心,炫彩效果越不明显。
698=断开
@@ -2628,9 +2629,6 @@
7174=照明度高于
7175=照明度低于
7176=光照
@@ -3473,6 +3471,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -4861,6 +4860,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -6234,6 +6234,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -6943,8 +6944,6 @@
10032=Потребителят няма разрешение.
10033=Устройството не съществува.
[Ukraine]
1=Вхід в систему
2=Номер телефону
@@ -7535,7 +7534,7 @@
601=Виберіть два або більше пристроїв
602=Мій дім
603=Будь ласка, прочитайте уважно
604=Протокол збору інформації про обличчя Pro Face
604="Протокол збору інформації про обличчя Pro Face
605= Якщо ви згодні з цією угодою, будь ласка, натисніть кнопку [Згоден].
606=Прив'язка облікового запису успішна, ви можете продовжити операцію зв'язування пристроїв
607=Попередня сторінка
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_blue.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_white.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_blue.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_white.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensordryContact.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/sensorpir_hold.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -606,6 +606,12 @@
    <AndroidAsset Include="Assets\Phone\FunctionIcon\GroupControl\gp_all_on_home_click.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\GroupControl\gp_all_on_home.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\GroupControl\gp_all_on.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensordryContact.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorpir_hold.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensordryContact_blue.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensordryContact_white.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_blue.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_white.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\values\colors.xml" />
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:versionName="2.1.3" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202309111">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.2.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202310121">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="33" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1762,6 +1762,12 @@
      <BundleResource Include="Resources\Phone\FunctionIcon\GroupControl\gp_all_on_home_click.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\GroupControl\gp_all_on_home.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\GroupControl\gp_all_on.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensordryContact_blue.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensordryContact_white.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_blue.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_white.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorpir_hold.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensordryContact.png" />
    </ItemGroup>
    <ItemGroup>
      <ITunesArtwork Include="iTunesArtwork" />
HDL-ON_iOS/Info.plist
@@ -11,7 +11,7 @@
    <key>CFBundleName</key>
    <string>On Pro</string>
    <key>CFBundleShortVersionString</key>
    <string>2.1.3</string>
    <string>2.2.0</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
@@ -36,7 +36,7 @@
        </dict>
    </array>
    <key>CFBundleVersion</key>
    <string>2.1.3</string>
    <string>2.2.0</string>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>weixinULAPI</string>
HDL-ON_iOS/Resources/Language.ini
@@ -682,7 +682,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -2078,6 +2078,7 @@
695=过去一个月的每日数据
696=过去一年的每月数据
697=提示:起始颜色选择越靠近色环边缘,炫彩效果越明显。越靠近白色中心,炫彩效果越不明显。
698=断开
@@ -3470,6 +3471,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -4858,6 +4860,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
@@ -6231,6 +6234,7 @@
695=Daily data of the past month
696=Monthly data of the past year
697=prompt: The closer the starting color selection is to the edge of the color ring, the more obvious the dazzling effect. The closer to the white center, the less noticeable the dazzling effect.
698=Break
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_blue.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensordryContact_white.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_blue.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorpir_hold_white.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensordryContact.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorpir_hold.png
HDL_ON/Common/R.cs
@@ -5,6 +5,10 @@
    public static class StringId
    {
        /// <summary>
        /// 断开(干接点)
        /// </summary>
        public const int DryBreak = 698;
        /// <summary>
        /// 提示:起始颜色选择越靠近色环边缘,炫彩效果越明显。越靠近白色中心,炫彩效果越不明显。
        /// </summary>
        public const int ColorfulSetTip = 697;
HDL_ON/DAL/DriverLayer/Control.cs
@@ -1137,6 +1137,7 @@
                    receiveObj.Topic.Contains(CommunicationTopic.ct.GatewayUpSortTopic))
                {
                    //TODO 暂时不传正确的数据上去,如果后面要优化前面这些代码
                    //Console.WriteLine($"{receiveObj.Topic}\r\n{receiveObj.BodyDataString}");
                    UpdataFunctionStatus(receiveObj.BodyDataString, null);
                }
                else if (receiveObj.Topic == CommunicationTopic.ct.ControlSeurity + "_reply"
@@ -1246,7 +1247,7 @@
                        {
                            continue;
                        }
                        MainPage.Log($"收到数据:{revString}");
                        MainPage.Log($"收到群控数据:{revString}");
                        foreach (var attr in updateTemp.status)
                        {
                            localFunction.time_stamp = temp.time_stamp;
HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -111,7 +111,7 @@
            {
                MqttInfoConfig.Current.IfGetMqttInfoSuccess = false;
            }
            Control.Ins.GatewayOnline_Cloud = Control.Ins.GatewayOnline_Local = false;
            //Control.Ins.GatewayOnline_Cloud = Control.Ins.GatewayOnline_Local = false;
            await DisConnectRemoteMqttClient(s);
        }
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -698,7 +698,7 @@
                        {
                            if (mHomeGatewayRes.Count > 0)
                            {
                                DB_ResidenceData.Instance.HomeGateway = mHomeGatewayRes[0];
                                DB_ResidenceData.Instance.HomeGateway = mHomeGatewayRes[0];//网关状态
                                DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes[0].gatewayStatus;
                                DB_ResidenceData.Instance.SaveResidenceData();
                                return revertObj.Code;
HDL_ON/DAL/Server/HttpUtil.cs
@@ -18,8 +18,8 @@
        /// 固定域名,正式环境
        /// 公共域名就近解析
        /// </summary>
        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
        const string APP_KEY = "HDL-HOME-APP-TEST";
        const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
HDL_ON/Entity/Function/Function.cs
@@ -173,6 +173,13 @@
                string iconPath = spk.Replace(".", "");
                switch (spk)
                {
                    case SPK.SensorDryContact2:
                    case SPK.OtherCommon:
                        iconPath = "sensordryContact";
                        break;
                    case SPK.SensorLight:
                        iconPath = "lightswitch";
                        break;
                    case SPK.AirSwitchP3:
                        iconPath = "electricalbreaker";
                        break;
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "2.1.4";
        public static string VersionString = "2.2.0";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
@@ -124,7 +124,9 @@
            SPK.GroupControl,
            SPK.AvMusic,
            SPK.MusicStandard,
            SPK.ElectricalTvHisense
            SPK.ElectricalTvHisense,
            SPK.OtherCommon,
        };
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -327,8 +327,9 @@
                    etAccount.Text = "18316672920";
                    etAccount.Text = "18244942707";
                    etAccount.Text = "1272061968@qq.com";//万科城市之光E区8栋206
                    etAccount.Text = "18933160333";
                    etAccount.Text = "18402017839";//wjc
                    etAccount.Text = "13533335801";
                    etAccount.Text = "13682244600";
                    etAccount.Text = "marketing@australindo.co.id";
                }
                else
@@ -364,9 +365,9 @@
                {
                    etPassword.Text = "hdl123";
                }
                else if(etAccount.Text == "13143792049")
                else if(etAccount.Text == "18600200915")
                {
                    etPassword.Text = "BVVBQATD";
                    etPassword.Text = "ZJtiaoshi";
                }else if(etAccount.Text == "13288623489")
                {
                    etPassword.Text = "luoxiaodong";
@@ -380,9 +381,9 @@
                else if (etAccount.Text == "18100573477")
                {
                    etPassword.Text = "huang12345";
                }else if(etAccount.Text == "1272061968@qq.com")
                }else if(etAccount.Text == "marketing@australindo.co.id")
                {
                    etPassword.Text = "a123456";
                    etPassword.Text = "HDLAGN2023";
                }
                //etPassword.Text = "Hdl85521566";
                btnLogin.IsSelected = true;
@@ -947,7 +948,7 @@
                {
                    sid = "airSwitchP3000000000001",
                    deviceId = "airSwitchP3000000000001",
                    name =  "测试-三相智能空开",
                    name = "测试-三相智能空开",
                    spk = SPK.AirSwitchP3,
                    roomIds = new List<string>() { "1405771024583090178" },
                    attributes = new List<FunctionAttributes>()
@@ -973,7 +974,7 @@
                        new FunctionAttributes() { key = FunctionAttributeKey.ElectricityC,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0  },
                        new FunctionAttributes() { key = FunctionAttributeKey.TotalElectricity,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0  },
                    },
                    collect=true,
                    //collect = true,
                };
                airSwitchP3.SaveFunctionFile();
@@ -1077,7 +1078,7 @@
                {
                    name = "测试-空调科技系统总控",
                    spk = SPK.AcstParent,
                    collect = true,
                    //collect = true,
                    attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
@@ -1202,7 +1203,7 @@
                        new FunctionAttributes(){ key = "enable",curValue = "true",state = "true" },
                        new FunctionAttributes(){ key = "people_num",curValue = "0",state = "0" },
                        new FunctionAttributes(){ key = "people_id",curValue = "1",state = "1" },
                        new FunctionAttributes(){ key = "target_status",curValue = "0",state = "0" },//0空,1走,2跑,3坐,4跌倒,5站
                        new FunctionAttributes(){ key = "target_status",curValue = "1",state = "1" },//0空,1走,2跑,3坐,4跌倒,5站
                        new FunctionAttributes(){ key = "people_status",curValue = "false",state = "false" },//状态  有人无人
                        //new FunctionAttributes(){ key = "",curValue = "",state = "" },
                        //new FunctionAttributes(){ key = "",curValue = "",state = "" },
@@ -1279,15 +1280,57 @@
                //    }
                //});
                //FunctionList.List.Functions.Add(new Function()
                //{
                //    spk = SPK.SensorDryContact,
                //    name = "干接点",
                //    attributes = new List<FunctionAttributes>()
                //    {
                //        new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
                //    },
                //});
                FunctionList.List.Functions.Add(new Function()
                {
                    spk = SPK.SensorDryContact,
                    name = "干接点",
                    //collect = true,
                    sid = "sss000001",
                    attributes = new List<FunctionAttributes>()
                    {
                        new FunctionAttributes(){ key = "contact_status",curValue= "open",state = "open" },
                    },
                });
                FunctionList.List.Functions.Add(new Function()
                {
                    spk = SPK.OtherCommon,
                    name = "通用开关",
                    //collect = true,
                    sid = "sssCommon000001",
                    attributes = new List<FunctionAttributes>()
                    {
                        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "off" },
                    },
                });
                FunctionList.List.Functions.Add(new Function()
                {
                    spk = SPK.SensorPir,
                    name = "人体存在传感器1",
                    collect = true,
                    sid = "sss000001111",
                    attributes = new List<FunctionAttributes>()
                    {
                        new FunctionAttributes(){ key = "people_status",curValue= "false",state = "false" },
                    },
                });
                FunctionList.List.Functions.Add(new Function()
                {
                    spk = SPK.SensorPirHold,
                    name = "人体存在传感器2",
                    collect = true,
                    sid = "sss0000011112",
                    attributes = new List<FunctionAttributes>()
                    {
                        new FunctionAttributes(){ key = "people_status",curValue= "true",state = "true" },
                    },
                });
                //FunctionList.List.Functions.Add(new Function()
                //{
@@ -1312,19 +1355,19 @@
                //    },
                //});
                //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()
                {
                    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()
                //{
@@ -1366,16 +1409,16 @@
                //    },
                //});
                //FunctionList.List.Functions.Add(new Function()
                //{
                //    spk = SPK.SensorGas,
                //    name = "燃气传感器",
                //    attributes = new List<FunctionAttributes>()
                //    {
                //        new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } },
                //        new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } },
                //    },
                //});
                FunctionList.List.Functions.Add(new Function()
                {
                    spk = SPK.SensorGas,
                    name = "燃气传感器",
                    attributes = new List<FunctionAttributes>()
                    {
                        new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } },
                        new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } },
                    },
                });
                //FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "测试投影仪",
                //                            attributes = new List<FunctionAttributes>() {
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1279,7 +1279,8 @@
                };
                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose ||
                    function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
@@ -1334,8 +1335,49 @@
                        }
                        btnState.Text = function.lastState;
                    }
                    else
                    {
                        tempStatus = function.attributes.Find((sta) => sta.key == "people_status");
                        if (tempStatus != null)
                        {
                            switch (tempStatus.state)
                            {
                                case "true":
                                    function.lastState = Language.StringByID(StringId.Someone);
                                    break;
                                case "false":
                                    function.lastState = Language.StringByID(StringId.wuren);
                                    break;
                            }
                            btnState.Text = function.lastState;
                        }
                    }
                }
                else if(function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    btnName.TextColor = CSS_Color.MainBackgroundColor;
                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainBackgroundColor;
                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.ContactStatus);
                    if (tempStatus != null)
                    {
                        switch (tempStatus.state)
                        {
                            case "open":
                                function.lastState = Language.StringByID(StringId.DryBreak);
                                break;
                            case "close":
                                function.lastState = Language.StringByID(StringId.Shut);
                                break;
                        }
                        btnState.Text = function.lastState;
                    }
                }
                else
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
@@ -1494,13 +1536,13 @@
                }
                else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                //else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                else if (SPK.ArmSensorSpkList().Contains(function.spk))
                {
                    //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png";
                    //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    //btnIcon.IsSelected = true;
                    btnName.TextColor = CSS_Color.MainBackgroundColor;
                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
                    btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainColor;//PromptingColor1
                    btnState.TextColor = CSS_Color.MainBackgroundColor;
                }
                //紧急求助
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -430,14 +430,30 @@
                                        }
                                    }
                                }
                                else if(function.spk == SPK.SensorHelp)
                                else if (function.spk == SPK.SensorHelp)
                                {
                                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus);
                                    if(tempStatus != null)
                                    if (tempStatus != null)
                                    {
                                        state = tempStatus.curValue.ToString() == "alarm";
                                    }
                                }
                                else if (function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold)
                                {
                                    var tempStatus = function.attributes.Find((sta) => sta.key == "people_status");
                                    if (tempStatus != null)
                                    {
                                        state = tempStatus.curValue.ToString() == "true";
                                    }
                                }
                                else if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
                                {
                                    var tempStatus = function.attributes.Find((sta) => sta.key == "contact_status");
                                    if (tempStatus != null)
                                    {
                                        state = tempStatus.curValue.ToString() == "open";
                                    }
                                }
                                else
                                {
                                    state = function.trait_on_off.curValue.ToString() == "on";
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs
@@ -652,8 +652,6 @@
                #endregion
            }
            LoadEventList();
        }
HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
@@ -7,98 +7,61 @@
{
    public partial class ColorTureLampPage
    {
        /// <summary>
        /// 通知更新界面的时间
        /// </summary>
        DateTime notiyUpdateTime = DateTime.MinValue;
        System.Threading.Thread updateUiThread;
        object lockObj = new object();
        /// <summary>
        /// 更新功能状态
        /// </summary>
        public static void UpdataStatus(Function updataTemp)
        {
            if(bodyView == null)
        {
            if (bodyView == null)
            {
                return;
            }
            lock (bodyView.lockObj)
            Application.RunOnMainThread(() =>
            {
                MainPage.Log($"收到更新" + DateTime.Now.Ticks);
                bodyView.notiyUpdateTime = DateTime.Now;
                if (bodyView.updateUiThread == null)
                try
                {
                    bodyView.updateUiThread = new System.Threading.Thread(() =>
                    if (bodyView == null)
                        return;
                    if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid)
                    {
                        while (true)
                        if (updataTemp.trait_on_off.curValue.ToString() == "on")
                        {
                            System.Threading.Thread.Sleep(1500);
                            if (bodyView == null)
                            bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
                            if (!bodyView.onDimmerBar)
                            {
                                return;
                                bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
                            }
                            if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
                            if (updataTemp.GetAttrState(FunctionAttributeKey.Brightness) != "0")
                            {
                                MainPage.Log("没有新数据,更新UI");
                                break;
                            }
                            else
                            {
                                MainPage.Log("有新数据,继续等待");
                                bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
                                bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
                            }
                        }
                        Application.RunOnMainThread(() =>
                        else
                        {
                            try
                            {
                                if (bodyView == null)
                                    return;
                                if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid)
                                {
                                    if (updataTemp.trait_on_off.curValue.ToString() == "on")
                                    {
                                        bodyView.dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
                                        if (!bodyView.onDimmerBar)
                                        {
                                            bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
                                        }
                                        if (updataTemp.GetAttrState(FunctionAttributeKey.Brightness) != "0")
                                        {
                                            bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
                                            bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
                                        }
                                    }
                                    else
                                    {
                                        bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
                                    }
                                    bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on";
                                    bodyView.barColorTemplatrue.Enable = updataTemp.trait_on_off.curValue.ToString() == "on";
                                    var cct = 27;
                                    int.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CCT), out cct);
                                    bodyView.barColorTemplatrue.Progress = cct / 100;
                                    //设置初始值
                                    bodyView.barColorTemplatrue.SetCustomText(bodyView.barColorTemplatrue.Progress * 100 + "K");
                            bodyView.dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
                        }
                        bodyView.btnSwitch.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on";
                        bodyView.barColorTemplatrue.Enable = updataTemp.trait_on_off.curValue.ToString() == "on";
                        var cct = 27;
                        int.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CCT), out cct);
                        bodyView.barColorTemplatrue.Progress = cct / 100;
                        //设置初始值
                        bodyView.barColorTemplatrue.SetCustomText(bodyView.barColorTemplatrue.Progress * 100 + "K");
                                }
                            }
                            catch (Exception ex)
                            {
                                MainPage.Log($"{bodyView.GetType().Name} UpdataStates error : {ex.Message}");
                            }
                            finally
                            {
                                bodyView.updateUiThread = null;
                            }
                        });
                        bodyView.updateUiThread.IsBackground = true;
                        bodyView.updateUiThread.Start();
                    });
                    }
                }
            }
                catch (Exception ex)
                {
                    MainPage.Log($"{bodyView.GetType().Name} UpdataStates error : {ex.Message}");
                }
                finally
                {
                }
            });
        }
        void LoadEventList()
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
@@ -7,12 +7,6 @@
{
    public partial class DimmerPage
    {
        /// <summary>
        /// 通知更新界面的时间
        /// </summary>
        DateTime notiyUpdateTime = DateTime.MinValue;
        System.Threading.Thread updateUiThread;
        object lockObj = new object();
        
        /// <summary>
        /// 更新功能状态
@@ -23,31 +17,6 @@
            {
                return;
            }
            lock (bodyView.lockObj)
            {
                MainPage.Log($"收到更新" + DateTime.Now.Ticks);
                bodyView.notiyUpdateTime = DateTime.Now;
                if (bodyView.updateUiThread == null)
                {
                    bodyView.updateUiThread = new System.Threading.Thread(() =>
                    {
                        while (true)
                        {
                            System.Threading.Thread.Sleep(1500);
                            if (bodyView == null)
                            {
                                return;
                            }
                            if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
                            {
                                MainPage.Log("没有新数据,更新UI");
                                break;
                            }
                            else
                            {
                                MainPage.Log("有新数据,继续等待");
                            }
                        }
                        Application.RunOnMainThread(() =>{
                            try
@@ -79,16 +48,9 @@
                            }
                            finally
                            {
                                bodyView.updateUiThread = null;
                            }
                        });
                        bodyView.updateUiThread.IsBackground = true;
                        bodyView.updateUiThread.Start();
                    });
                }
            }
        }
        void LoadEventList()
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
@@ -6,12 +6,6 @@
{
    public partial class RGBPage
    {
        /// <summary>
        /// 通知更新界面的时间
        /// </summary>
        DateTime notiyUpdateTime = DateTime.MinValue;
        System.Threading.Thread updateUiThread;
        object lockObj = new object();
        public override void RemoveFromParent()
        {
@@ -27,31 +21,6 @@
            {
                return;
            }
            lock (bodyView.lockObj)
            {
                MainPage.Log($"收到更新"+ DateTime.Now.Ticks);
                bodyView.notiyUpdateTime = DateTime.Now;
                if (bodyView.updateUiThread == null)
                {
                    bodyView.updateUiThread = new System.Threading.Thread(() =>
                    {
                        while (true)
                        {
                            System.Threading.Thread.Sleep(1500);
                            if(bodyView == null)
                            {
                                return;
                            }
                            if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
                            {
                                MainPage.Log("没有新数据,更新UI");
                                break;
                            }
                            else
                            {
                                MainPage.Log("有新数据,继续等待");
                            }
                        }
                        Application.RunOnMainThread((() =>
                        {
@@ -123,15 +92,9 @@
                            }
                            finally
                            {
                                bodyView.updateUiThread = null;
                            }
                        }));
                    });
                    bodyView.updateUiThread.IsBackground = true;
                    bodyView.updateUiThread.Start();
                }
            }
        }
HDL_ON/UI/UI2/FuntionControlView/Light/RGBWPageBLL.cs
@@ -7,12 +7,6 @@
    public partial class RGBWPage
    {
        /// <summary>
        /// 通知更新界面的时间
        /// </summary>
        DateTime notiyUpdateTime = DateTime.MinValue;
        System.Threading.Thread updateUiThread;
        object lockObj = new object();
        /// <summary>
        /// 更新功能状态
        /// </summary>
        public static void UpdataStates(Function updateTemp)
@@ -21,31 +15,6 @@
            {
                return;
            }
            lock (bodyView.lockObj)
            {
                MainPage.Log($"收到更新" + DateTime.Now.Ticks);
                bodyView.notiyUpdateTime = DateTime.Now;
                if (bodyView.updateUiThread == null)
                {
                    bodyView.updateUiThread = new System.Threading.Thread(() =>
                    {
                        while (true)
                        {
                            System.Threading.Thread.Sleep(1500);
                            if (bodyView == null)
                            {
                                return;
                            }
                            if (DateTime.Now.AddMilliseconds(-1500) > bodyView.notiyUpdateTime)
                            {
                                MainPage.Log("没有新数据,更新UI");
                                break;
                            }
                            else
                            {
                                MainPage.Log("有新数据,继续等待");
                            }
                        }
                        Application.RunOnMainThread(() =>
                        {
                            try
@@ -101,16 +70,9 @@
                            }
                            finally
                            {
                                bodyView.updateUiThread = null;
                            }
                        });
                        bodyView.updateUiThread.IsBackground = true;
                        bodyView.updateUiThread.Start();
                    });
                }
            }
        }
SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,8 @@
        /// 固定域名,正式环境
        /// 公共域名就近解析
        /// </summary>
        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
        const string APP_KEY = "HDL-HOME-APP-TEST";
        const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
        //public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm