wjc
2022-03-23 2b9a266168793da88a6e615fb961c254698dc12c
Merge remote-tracking branch 'origin/release0123' into wjc
45个文件已修改
2494 ■■■■ 已修改文件
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/DriverLayer/Control.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Mqtt/MqttClient.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePage.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs 237 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs 142 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs 260 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs 362 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202203111" android:versionName="1.5.5" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202203171" android:versionName="1.5.5" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools">
    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="30" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL-ON_iOS/Info.plist
@@ -100,9 +100,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.5.502203111</string>
    <string>1.5.502203171</string>
    <key>CFBundleVersion</key>
    <string>1.5.503111</string>
    <string>1.5.503171</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
HDL_ON/Common/R.cs
@@ -5,7 +5,6 @@
    public static class StringId
    {
        /// <summary>
        /// 设备离线中,暂时无法操作
        /// </summary>
HDL_ON/DAL/DriverLayer/Control.cs
@@ -1290,7 +1290,15 @@
                    if (pack.Code != StateCode.SUCCESS)
                    {
                        Application.RunOnMainThread(() => {
                            new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), pack.message);
                            if(string.IsNullOrEmpty(pack.message))
                            {
                                new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip),
                                    Language.StringByID(StringId.OperationFailed));
                            }
                            else
                            {
                                new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), pack.message);
                            }
                        });
                    }
                }
HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -218,6 +218,12 @@
                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up",
                        QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                    };
                    //设备在线离线状态推送
                    var deviceOnlinePush = new MqttTopicFilter()
                    {
                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/son/session/online",
                        QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                    };
                    //appRoomRefresh:房间数据刷新通知
                    var appRoomRefresh = new MqttTopicFilter()
                    {
@@ -253,6 +259,7 @@
                        pirStatus,pirStudy,
                        appDeviceRefresh,appHomeRefresh,appRoomRefresh,residenceChange,
                        topicFilterPush2, topicAlinkStatus ,mqttkeyChange,
                        deviceOnlinePush,
                        securityStatusChange});
                    if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0)
                    {
@@ -345,6 +352,32 @@
                                    //新挤下线主题方案 收到挤下线主题
                                    ReceiveNotifySqueezeAsync(mMes);
                                }
                                //设备在线离线状态推送
                                else if(topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/son/session/online")
                                {
                                    try
                                    {
                                        //var mMes = Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
                                        //Newtonsoft.Json.Linq.JObject pairs = Newtonsoft.Json.Linq.JObject.Parse(mMes);
                                        //var pairSid = pairs.GetValue("sid").ToString();
                                        //var pairOnline = pairs.GetValue("online");
                                        //if (!string.IsNullOrEmpty(pairSid.ToString()))
                                        //{
                                        //    var function_online = FunctionList.List.Functions.Find((obj) => obj.sid == pairSid);
                                        //    if (function_online != null){
                                        //        function_online.online = (bool)pairOnline;
                                        //        HomePage.LoadEvent_RefreshDevcieOnline(function_online);
                                        //        FunctionPage.UpdataOnline(function_online);
                                        //        RoomPage.UpdataOnline(function_online);
                                        //    }
                                        //}
                                    }
                                    catch(Exception ex)
                                    {
                                    }
                                }
                                //App订阅红外宝/网关遥控器添加成功通知
                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/topo/found")
                                {
HDL_ON/DAL/Server/HttpUtil.cs
@@ -17,8 +17,8 @@
        /// 固定域名,正式环境
        /// 公共域名就近解析
        /// </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>
@@ -31,9 +31,9 @@
        /// 特殊接口请求超时时间
        /// </summary>
        public const int TIME_OUT_LONG = 20;
        /////// <summary>
        /////// Bearer 暂时设为空,从登陆成功的返回的headerPrefix参数动态获取
        /////// </summary>
        ///// <summary>
        ///// Bearer 暂时设为空,从登陆成功的返回的headerPrefix参数动态获取
        ///// </summary>
        //public const string TOKEN_BEARER = "Bearer ";
        #endregion
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -226,32 +226,32 @@
                    //etAccount.Text = "13682244600";//波哥
                    etAccount.Text = "13168123446";//昆明金茂项目,新风问题
                    //etAccount.Text = "2949126848@qq.com";//陈琳
                    //etAccount.Text = "13415629083";
                    etAccount.Text = "15014291819 ";
                    //etAccount.Text = "13676202754";//巴林服务器
                    //etAccount.Text = "13602944661";//kx
                    //etAccount.Text = "18666455392";//13375012446//13602944661//tzy 18778381374
                    //etAccount.Text = "15971583093";//高胜
                    //etAccount.Text = "15217626103";//昆明金茂项目
                    //etAccount.Text = "18598273624";
                    etAccount.Text = "tf@smarttech.com.ua";
                    //etAccount.Text = "tf@smarttech.com.ua";
                    //etAccount.Text = "18814122445";//董泽斌 天河办公室
                    etAccount.Text = "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568
                    etAccount.Text = "18402017839";//wjc
                    //etAccount.Text = "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568
                    //etAccount.Text = "18402017839";//wjc
                    //etAccount.Text = "13430286286";//cwc
                    //etAccount.Text = "13709260805";
                    //etAccount.Text = "support5@hdlchina.com.cn";
                    //etAccount.Text = "13375012441";
                    //etAccount.Text = "info@smartlife-ks.com";
                    //etAccount.Text = "551775569@qq.com";//wcf
                    etAccount.Text = "15626203746";
                    //etAccount.Text = "15626203746";
                    //etAccount.Text = "zhangquansongjava@163.com";
                    //etAccount.Text = "s.savinov@hdlautomation.ru";
                }
                b = !b;
                etPassword.Text = "123456";
                if(etAccount.Text == "s.savinov@hdlautomation.ru")
                if(etAccount.Text == "15014291819 ")
                {
                    etPassword.Text = "BWGVOFCJ";
                    etPassword.Text = "hdl123456";
                }
                //etPassword.Text = "Hdl85521566";
                btnLogin.IsSelected = true;
@@ -1134,7 +1134,8 @@
        /// <param name="frameBack"></param>
        private void AddServiceAgreementControl(FrameLayout frameLayout)
        {
            isAgreePrivacyPolicy = OnAppConfig.Instance.isAgreePrivacyPolicy;
            isAgreePrivacyPolicy = false;
            OnAppConfig.Instance.isAgreePrivacyPolicy = false;
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -189,22 +189,22 @@
                //更新链接状态icon颜色
                int ddd = 0;
#if DEBUG
                btnResidenceName.MouseUpEventHandler = (sender, e) =>
                {
                    if (UserInfo.Current.VerOpenDoorPw || string.IsNullOrEmpty(UserInfo.Current.doorPasswordString))
                    {
                        var page = new DoorLockUnlockPage(new Function());
                        MainPage.BasePageView.AddChidren(page);
                        page.LoadView();
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    }
                    else
                    {
                        Control.Ins.OneKeyUnlocking(new Function(), UserInfo.Current.doorPasswordString);
                    }
                    //if (UserInfo.Current.VerOpenDoorPw || string.IsNullOrEmpty(UserInfo.Current.doorPasswordString))
                    //{
                    //    var page = new DoorLockUnlockPage(new Function());
                    //    MainPage.BasePageView.AddChidren(page);
                    //    page.LoadView();
                    //    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    //}
                    //else
                    //{
                    //    Control.Ins.OneKeyUnlocking(new Function(), UserInfo.Current.doorPasswordString);
                    //}
                };
#endif
@@ -940,10 +940,10 @@
                    index++;
                    if (!function.online)
                    {
                        btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
                    }
                    //if (!function.online)
                    //{
                    //    btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
                    //}
                }
                if (index == 0)
@@ -1327,22 +1327,20 @@
                    UpdataFunctionStates(function);
                }
                //var btnOffline = new Button()
                //{
                //    X = btnIcon.Right,
                //    Y = Application.GetRealWidth(16),
                //    Height = Application.GetMinRealAverage(32),
                //    TextID = StringId.DeviceOffline,
                //    TextColor = CSS_Color.WarningColor,
                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                //    TextAlignment = TextAlignment.CenterLeft,
                //    Tag = "OnlineTag",
                //    Visible = !function.online
                //};
                //view.AddChidren(btnOffline);
                if (!function.online)
                {
                    var btnOffline = new Button()
                    {
                        X = btnIcon.Right,
                        Y = Application.GetRealWidth(16),
                        Height = Application.GetMinRealAverage(32),
                        TextID = StringId.DeviceOffline,
                        TextColor = CSS_Color.WarningColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextAlignment = TextAlignment.CenterLeft
                    };
                    view.AddChidren(btnOffline);
                }
            }
            catch (Exception ex)
            {
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -10,6 +10,52 @@
    public partial class HomePage
    {
        /// <summary>
        /// 更新设备在线状态
        /// </summary>
        public static void LoadEvent_RefreshDevcieOnline(Function function)
        {
            //Application.RunOnMainThread(() =>
            //{
            //    if (bodyView != null)
            //    {
            //        foreach (var view in bodyView.functionViews)
            //        {
            //            if (view.Tag.ToString() == function.sid)
            //            {
            //                for (int i = 0; i < view.ChildrenCount; i++)
            //                {
            //                    if (view.GetChildren(i).GetType() == typeof(Button))
            //                    {
            //                        var btn = view.GetChildren(i) as Button;
            //                        if(btn.Tag == null)
            //                        {
            //                            continue;
            //                        }
            //                        if (btn.Tag.ToString() == function.sid)
            //                        {
            //                            if (function.online)
            //                            {
            //                                btn.UnSelectedImagePath = "Collection/Functionbg.png";
            //                                btn.IsSelected = false;
            //                            }
            //                            else
            //                            {
            //                                btn.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
            //                                btn.IsSelected = false;
            //                            }
            //                        }
            //                        else if (btn.Tag.ToString() == "OnlineTag")
            //                        {
            //                            btn.Visible = !function.online;
            //                        }
            //                    }
            //                }
            //            }
            //        }
            //    }
            //});
        }
        /// <summary>
        /// 更新主页天气
        /// </summary>
        public static void LoadEvent_RefreshAir()
@@ -468,16 +514,16 @@
        {
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
                {
@@ -531,16 +577,16 @@
        {
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    btnSwitch.IsSelected = !btnSwitch.IsSelected;
@@ -575,16 +621,16 @@
        {
            btnClose.MouseUpEventHandler = (sender, e) =>
            {
                if (!curtain.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!curtain.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnClose.IsSelected = true;
                curtain.trait_on_off.curValue = "off";
                curtain.SetAttrState(FunctionAttributeKey.Percent, 0);
@@ -595,16 +641,16 @@
            btnOpen.MouseUpEventHandler = (sender, e) =>
            {
                if (!curtain.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!curtain.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnOpen.IsSelected = true;
                curtain.trait_on_off.curValue = "on";
                curtain.SetAttrState(FunctionAttributeKey.Percent, 100);
@@ -625,16 +671,16 @@
            };
            btnUp.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -656,16 +702,16 @@
            };
            btnDown.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -1,5 +1,6 @@
using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
@@ -16,7 +17,7 @@
        /// <param name="updataFunction"></param>
        public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView, Room room = null)
        {
            Application.RunOnMainThread((Action)(() =>
            Application.RunOnMainThread((() =>
            {
                try
                {
@@ -181,5 +182,49 @@
                }
            }));
        }
        public void UpdataOnlineStatus(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView, Room room = null)
        {
            Application.RunOnMainThread(() =>
            {
                try
                {
                    if (view == null || scrolView == null || updataFunction == null)
                    {
                        return;
                    }
                    if (!scrolView.ScrollEnabled)
                    {
                        return;
                    }
                    if (room != null)
                    {
                        if (!updataFunction.roomIds.Contains(room.roomId))
                        {
                            return;
                        }
                    }
                    for (int i = 0; i < scrolView.ChildrenCount; i++)
                    {
                        if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "")
                        {
                            continue;
                        }
                        var viewTag = scrolView.GetChildren(i).Tag.ToString();
                        if (scrolView.GetChildren(i).Tag != null && viewTag == updataFunction.spk + updataFunction.sid)
                        {
                            if (scrolView.GetChildren(i).GetType() == typeof(FunctionControlZone)) {
                                var fcView = scrolView.GetChildren(i) as FunctionControlZone;
                                //fcView.UpdataOnline(updataFunction.online);
                            }
                        }
                    }
                }catch (Exception ex)
                {
                    MainPage.Log("Function Online status error : " + ex.Message);
                }
            });
        }
    }
}
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -1,7 +1,6 @@
using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using HDL_ON.UI.Music;
using Shared;
namespace HDL_ON.UI
@@ -9,7 +8,7 @@
    public partial class FunctionControlZone : FrameLayout
    {
        #region 区域控件
        static FrameLayout bodyDiv;
        FunctionControlZone bodyDiv;
        /// <summary>
        /// 功能/场景icon
        /// </summary>
@@ -26,6 +25,11 @@
        /// 收藏按钮
        /// </summary>
        Button btnCollectionIcon;
        /// <summary>
        /// 离线文本
        /// </summary>
        Button btnOffline;
        #endregion
        #region 区域变量
@@ -61,8 +65,8 @@
            }
            LoadDiv();
                btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
            btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
            
            if (SPK.CurtainSpkList().Contains(function.spk))
            {//窗帘没有开关按钮
@@ -226,21 +230,21 @@
                bodyDiv.AddChidren(btnCollectionIcon);
            }
            if (!function.online)
            {
                bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
                var btnOffline = new Button()
                {
                    X = Application.GetRealWidth(8 + 10 + 32),
                    Y = Application.GetRealHeight(28 + 24),
                    Height = Application.GetRealHeight(30),
                    TextID = StringId.DeviceOffline,
                    TextColor = CSS_Color.WarningColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft
                };
                bodyDiv.AddChidren(btnOffline);
            }
            //if (!function.online)
            //{
            //    bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
            //    btnOffline = new Button()
            //    {
            //        X = Application.GetRealWidth(8 + 10 + 32),
            //        Y = Application.GetRealHeight(28 + 24),
            //        Height = Application.GetRealHeight(30),
            //        TextID = StringId.DeviceOffline,
            //        TextColor = CSS_Color.WarningColor,
            //        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            //        TextAlignment = TextAlignment.CenterLeft
            //    };
            //    bodyDiv.AddChidren(btnOffline);
            //}
        }
        /// <summary>
HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using HDL_ON.UI.Music;
using Shared;
@@ -9,54 +10,60 @@
{
    public partial class FunctionControlZone
    {
        /// <summary>
        /// 更新开关状态
        /// </summary>
        /// <param name="upfunc"></param>
        public static void UpdataOnOffState(Function upfunc)
        {
            if(bodyDiv!= null)
            {
                Application.RunOnMainThread(() => {
                    if(bodyDiv.Tag.ToString() == upfunc.sid)
                    {
                        for (var o = 0; o < bodyDiv.ChildrenCount; o++)
                        {
                            if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
                            {
                                var btn = bodyDiv.GetChildren(o) as Button;
                                if (btn.Tag != null)
                                {
                                    if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
                                    {
                                        btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
                                    }
                                }
                            }
                            else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
                            {
                                var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
                                if (btn.Tag != null)
                                {
                                    if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
                                    {
                                        btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness));
                                    }
                                }
                            }
                        }
        //    /// <summary>
        //    /// 更新开关状态
        //    /// </summary>
        //    /// <param name="upfunc"></param>
        //    public static void UpdataOnOffState(Function upfunc)
        //    {
        //        if(bodyDiv!= null)
        //        {
        //            Application.RunOnMainThread(() => {
        //                if(bodyDiv.Tag.ToString() == upfunc.sid)
        //                {
        //                    for (var o = 0; o < bodyDiv.ChildrenCount; o++)
        //                    {
        //                        if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
        //                        {
        //                            var btn = bodyDiv.GetChildren(o) as Button;
        //                            if (btn.Tag != null)
        //                            {
        //                                if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
        //                                {
        //                                    btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
        //                                }
        //                            }
        //                        }
        //                        else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
        //                        {
        //                            var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
        //                            if (btn.Tag != null)
        //                            {
        //                                if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
        //                                {
        //                                    btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness));
        //                                }
        //                            }
        //                        }
        //                    }
                    }
        //                }
        //            });
        //        }
        //    }
        /// <summary>
        /// 更新在线状态
        /// </summary>
        public void UpdataOnline(bool online)
        {
            if (bodyDiv != null)
            {
                Application.RunOnMainThread(() =>
                {
                    bodyDiv.BackgroundColor = online ? CSS_Color.MainBackgroundColor : CSS_Color.PromptingColor2;
                    bodyDiv.btnOffline.Visible = !online;
                });
            }
        }
        /// <summary>
        /// 更新亮度状态
        /// </summary>
        /// <param name="upfunc"></param>
        static void UpdataBrightnessState(Function upfunc)
        {
        }
        /// <summary>
@@ -79,16 +86,16 @@
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                if(SPK.NotStatusSpkList.Contains( function.spk ))
@@ -126,16 +133,16 @@
        /// </summary>
        void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
        {
            if (!function.online)//离线不允许操作
            {
                //new Tip()
                //{
                //    CloseTime = 1,
                //    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //    Direction = AMPopTipDirection.None,
                //}.Show(MainPage.BaseView);
                return;
            }
            //if (!function.online)//离线不允许操作
            //{
            //    //new Tip()
            //    //{
            //    //    CloseTime = 1,
            //    //    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //    //    Direction = AMPopTipDirection.None,
            //    //}.Show(MainPage.BaseView);
            //    return;
            //}
            if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB)
            {
                dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
@@ -196,16 +203,16 @@
        {
            btnClose.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnClose.IsSelected = true;
                btnStop.IsSelected = false;
                btnOpen.IsSelected = false;
@@ -218,16 +225,16 @@
            btnStop.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnStop.IsSelected = true;
                btnClose.IsSelected = false;
                btnOpen.IsSelected = false;
@@ -239,16 +246,16 @@
            btnOpen.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnOpen.IsSelected = true;
                btnClose.IsSelected = false;
                btnStop.IsSelected = false;
@@ -273,16 +280,16 @@
            };
            btnUp.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -304,16 +311,16 @@
            };
            btnDown.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -37,6 +37,7 @@
        public void LoadPage(int titleId)
        {
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            if (titleId == StringId.Lights)
            {
@@ -65,6 +66,13 @@
            {
                new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView();
            }
#if DEBUG
#endif
            /// <summary>
            /// 房间内容显示区域
            /// </summary>
HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs
@@ -13,6 +13,10 @@
            new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView);
        }
        public static void UpdataOnline(Function function)
        {
            new ClassificaitionPublicBLL().UpdataOnlineStatus(function, bodyView, functionListView);
        }
    }
HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs
@@ -14,6 +14,10 @@
        {
            new ClassificaitionPublicBLL().UpdataStates(function, bodyView, functionListView,room);
        }
        public static void UpdataOnline(Function function)
        {
            new ClassificaitionPublicBLL().UpdataOnlineStatus(function, bodyView, functionListView);
        }
        /// <summary>
        /// 加载事件列表
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -221,9 +221,9 @@
                        funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString();
                        UserInfo.Current.logicselectedFunction = areaView.btnClick.Tag.ToString();
                        ///获取单个类型(例如:灯光类。。)设备FunctionType列表<简称:spk列表>
                        var typeFunctionList1 = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction);
                        var typeFunctionList2 = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction);
                        ///获取单个灯光类型(例如:灯光1,灯光2。。)设备列表
                        var lists2 = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList1, functionList);
                        var lists2 = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList2, functionList);
                        DeviceListView(vv, lists2);
                    };
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -563,7 +563,7 @@
                EventHandler<MouseEventArgs> skipEvent = (sender, e) =>
                {
                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction.localFunction.ConvertSceneFunction(), refreshFunctionRowAction);
                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
                    MainPage.BasePageView.AddChidren(ssf);
                    ssf.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -856,7 +856,7 @@
            #endregion
            #region Siri
            #if __IOS__
#if __IOS__
            //if (Application.PhoneType >= 12)
            {
                supportViewCellCount++;
@@ -925,7 +925,7 @@
                };
                siriView.AddChidren(btnSmartSpeakerViewLine);
            }
            #endif
#endif
            #endregion
            #region 获取支持
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
@@ -358,15 +358,15 @@
                };
                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    }
                    //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);
@@ -494,15 +494,15 @@
                };
                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    }
                    //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);
@@ -618,15 +618,15 @@
                };
                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    }
                    //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);
@@ -814,15 +814,15 @@
                btn.MouseUpEventHandler = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    }
                    //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);
@@ -877,15 +877,15 @@
        {
            btnMinus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //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;
@@ -907,15 +907,15 @@
            };
            btnPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //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;
@@ -933,7 +933,7 @@
                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
                Control.Ins.SendWriteCommand(device, d);
            };
            if (!device.online)
            //if (device.online)
            {
                arcBar.OnStopTrackingTouchEvent = (sender, e) =>
                {
@@ -941,7 +941,7 @@
                    device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
                    btnTemp.Text = arcBar.Progress.ToString();
                    controlTime = DateTime.Now;
                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                    Dictionary<string, string> d = new Dictionary<string, string>();
                    d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
                    Control.Ins.SendWriteCommand(device, d);
                };
@@ -994,15 +994,15 @@
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //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")
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
@@ -759,15 +759,15 @@
        /// <param name="comadValue">命令</param>
        private void SendOtherComand(IconViewControl btnIcon, string comadKey, string comadValue)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //}
            btnIcon.CanClick = false;
            HdlThreadLogic.Current.RunThread(() =>
@@ -788,15 +788,15 @@
        /// </summary>
        private void SendSwitchComand()
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //}
            this.btnSwitch.CanClick = false;
            string statu = this.btnSwitch.IsSelected == true ? "off" : "on";
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
@@ -89,15 +89,15 @@
            FrameWhiteCentet1.AddChidren(btnSwitch);
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //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";
                new System.Threading.Thread(() =>
@@ -289,15 +289,15 @@
        /// <param name="comadValue">命令</param>
        private void SendOtherComand(IconViewControl btnIcon, string comadKey, string comadValue)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //}
            btnIcon.CanClick = false;
            HdlThreadLogic.Current.RunThread(() =>
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs
@@ -305,15 +305,15 @@
                };
                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    }
                    //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);
@@ -371,15 +371,16 @@
        {
            btnMinus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //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;
@@ -399,15 +400,16 @@
            };
            btnPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //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;
@@ -426,7 +428,7 @@
                Control.Ins.SendWriteCommand(device, d);
            };
            if (!device.online)
            //if (device.online)
            {
                arcBar.OnStopTrackingTouchEvent = (sender, e) =>
                {
HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs
@@ -122,8 +122,8 @@
                Y= Application.GetRealHeight(130),
                Width = Application.GetRealWidth(250),
                Height = Application.GetRealHeight(177),
                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainBgIcon.png",
                SelectedImagePath = "FunctionIcon/Curtain/CurtainBgOnIcon.png",
                SelectedImagePath = "FunctionIcon/Curtain/CurtainBgIcon.png",
                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainBgOnIcon.png",
            };
            controlView.AddChidren(btnCurtainBgIcon);
HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs
@@ -72,15 +72,15 @@
        void LoadEvent_ControlEvent()
        {
            btnCurtainClose.MouseUpEventHandler = (sender, e) => {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //}
                new System.Threading.Thread(() => {
                    System.Threading.Thread.Sleep(2000);
                    Application.RunOnMainThread(() => {
@@ -116,15 +116,15 @@
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //}
                new System.Threading.Thread(() => {
                    System.Threading.Thread.Sleep(2000);
                    Application.RunOnMainThread(() => {
@@ -139,15 +139,15 @@
            };
            btnCurtainOpen.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //}
                new System.Threading.Thread(() => {
                    System.Threading.Thread.Sleep(2000);
                    Application.RunOnMainThread(() => {
HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs
@@ -137,15 +137,16 @@
        {
            btnCurtainClose.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -165,15 +166,16 @@
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                onCurtainAnimation = false;
                new System.Threading.Thread(() =>
                {
@@ -192,15 +194,16 @@
            btnCurtainOpen.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -218,7 +221,7 @@
                CurtainAnimation(100);
            };
            if (!function.online)
            //if (function.online)
            {
                btnCurtainStop.MouseDownEventHandler = (sender, e) =>
                {
HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs
@@ -138,15 +138,16 @@
        {
            btnCurtainClose.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -166,15 +167,16 @@
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() => {
                    System.Threading.Thread.Sleep(2000);
                    Application.RunOnMainThread(() => {
@@ -191,15 +193,16 @@
            btnCurtainOpen.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -235,9 +238,8 @@
            //    DriverLayer.Control.Ins.SendWriteCommand(function, d);
            //};
            if (!function.online)
            //if (function.online)
            {
                btnCurtainStop.MouseDownEventHandler = (sender, e) =>
                {
                    btnCurtainStop.IsSelected = true;
HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs
@@ -417,16 +417,16 @@
        {
            btnSwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitchIcon.IsSelected;
                new System.Threading.Thread(() =>
                {
@@ -439,16 +439,16 @@
            };
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
                {
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs
@@ -126,16 +126,16 @@
            #region 控制
            btnUp.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -151,16 +151,16 @@
            };
            //----
            btnStop.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -174,7 +174,7 @@
                d.Add(FunctionAttributeKey.Position, "stop");
                Control.Ins.SendWriteCommand(device, d);
            };
            if (!device.online)
            //if (!device.online)
            {
                btnUp.MouseDownEventHandler = (sender, e) => {
                    btnUp.IsSelected = true;
@@ -189,16 +189,16 @@
                };
            }
            btnDown.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -242,16 +242,16 @@
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    string onoff = hotDryView.Lighting ? "false" : "true";
                    device.SetAttrState(FunctionAttributeKey.HotDry, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -281,16 +281,16 @@
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    string onoff = windDryView.Lighting ? "false" : "true";
                    device.SetAttrState(FunctionAttributeKey.WindDry, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -326,16 +326,16 @@
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    string onoff = disinfectView.Lighting ? "false" : "true";
                    device.SetAttrState(FunctionAttributeKey.Disinfect, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -376,16 +376,16 @@
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                    return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    string onoff = lightingView.Lighting ? "off" : "on";
                    device.SetAttrState(FunctionAttributeKey.OnOff, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs
@@ -74,16 +74,16 @@
                functionListView.AddChidren(hotDryTimeCell);
                hotDryTimeCell.GoAction = () =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                        return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3, Language.StringByID(StringId.HotDryTime));
                    timeControl.RowHeight = Application.GetRealHeight(50);
                    timeControl.InitControl(0, 1, 162);
@@ -130,16 +130,16 @@
                functionListView.AddChidren(windDryCell);
                windDryCell.GoAction = () =>
                {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                        return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3,Language.StringByID(StringId.WindDryTime));
                    timeControl.RowHeight = Application.GetRealHeight(50);
                    timeControl.InitControl(0, 1, 162);
@@ -187,16 +187,16 @@
                functionListView.AddChidren(disinfectTimeCell);
                disinfectTimeCell.GoAction = () => {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                        return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3, Language.StringByID(StringId.DisinfectTime));
                    timeControl.RowHeight = Application.GetRealHeight(50);
                    timeControl.InitControl(0, 1, 162);
@@ -245,16 +245,16 @@
                anionTimeCell.LineView.RemoveFromParent();
                anionTimeCell.GoAction = () => {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                        return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3,Language.StringByID(StringId.AnionTime));
HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs
@@ -62,16 +62,16 @@
        {
            btnSwitchIcon.MouseUpEventHandler += (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitchIcon.IsSelected;
                new System.Threading.Thread(() =>
@@ -86,16 +86,16 @@
            };
            btnSwitch.MouseUpEventHandler += (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
@@ -108,7 +108,7 @@
                { IsBackground = true }.Start();
            };
            if (!function.online)
            //if (function.online)
            {
                barGradualChange.OnProgressChangedEvent = (sender, e) =>
                {
HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs
@@ -90,16 +90,16 @@
                btn.MouseUpEventHandler = (sender, e) => {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                        return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                    d.Add(attr.key, "");
                    Control.Ins.SendWriteCommand(device, d);
HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs
@@ -480,16 +480,16 @@
                    btn.MouseUpEventHandler = (sender, e) =>
                    {
                        if (!device.online)
                        {
                            new Tip()
                            {
                                CloseTime = 1,
                                Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                                Direction = AMPopTipDirection.None,
                            }.Show(MainPage.BaseView);
                            return;
                        }
                        //if (!device.online)
                        //{
                        //    new Tip()
                        //    {
                        //        CloseTime = 1,
                        //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        //        Direction = AMPopTipDirection.None,
                        //    }.Show(MainPage.BaseView);
                        //    return;
                        //}
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add(attr.key, "");
                        Control.Ins.SendWriteCommand(device, d);
@@ -548,16 +548,16 @@
            btnChlPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -567,16 +567,16 @@
            };
            btnChlReduce.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -586,16 +586,16 @@
            };
            btnVolPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -605,16 +605,16 @@
            };
            btnVolReduce.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -624,16 +624,16 @@
            };
            btnBack.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -643,16 +643,16 @@
            };
            btnPower.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -679,16 +679,16 @@
            };
            btnMenu.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -699,16 +699,16 @@
            };
            btnTopMenuUp.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -719,16 +719,16 @@
            };
            btnTopMenuLeft.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -739,16 +739,16 @@
            };
            btnTopMenuRight.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -759,16 +759,16 @@
            };
            btnTopMenuDown.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -779,16 +779,16 @@
            };
            btnOk.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
@@ -290,16 +290,16 @@
        {
            btnSwitchIcon.MouseUpEventHandler += (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitchIcon.IsSelected;
                new System.Threading.Thread(() =>
@@ -316,16 +316,16 @@
            };
            btnSwitch.MouseUpEventHandler += (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs
@@ -421,16 +421,16 @@
                }
                numberView.AddChidren(btn);
                btn.MouseUpEventHandler = (sender, e) => {
                    if (!device.online)
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                            Direction = AMPopTipDirection.None,
                        }.Show(MainPage.BaseView);
                        return;
                    }
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //    return;
                    //}
                    string index = (sender as Button).Text;
                    btn.IsSelected = false;
                    if (DB_ResidenceData.Instance.GatewayType == 1)
@@ -484,16 +484,16 @@
        {
            btnMenu.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -503,16 +503,16 @@
            };
            btnChlPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -522,16 +522,16 @@
            };
            btnChlReduce.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -541,16 +541,16 @@
            };
            btnVolPlus.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -560,16 +560,16 @@
            };
            btnVolReduce.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -579,16 +579,16 @@
            };
            btnBack.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -599,16 +599,16 @@
            btnMenu.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -618,30 +618,30 @@
            };
            btn123.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                ShowNumberView();
            };
            btnMute.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -651,16 +651,16 @@
            };
            btnPower.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -670,7 +670,7 @@
            };
            if (!device.online)
            //if (device.online)
            {
                btnTopMenuUp.MouseDownEventHandler = (sender, e) =>
                {
@@ -695,16 +695,16 @@
            }
            btnMenu.MouseUpEventHandler = (sender, e) =>
            {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -715,16 +715,16 @@
            };
            btnTopMenuUp.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -735,16 +735,16 @@
            };
            btnTopMenuLeft.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -755,16 +755,16 @@
            };
            btnTopMenuRight.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -775,16 +775,16 @@
            };
            btnTopMenuDown.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -795,16 +795,16 @@
            };
            btnOk.MouseUpEventHandler = (sender, e) => {
                if (!device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
@@ -971,16 +971,16 @@
                    btn.MouseUpEventHandler = (sender, e) =>
                    {
                        if (!device.online)
                        {
                            new Tip()
                            {
                                CloseTime = 1,
                                Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                                Direction = AMPopTipDirection.None,
                            }.Show(MainPage.BaseView);
                            return;
                        }
                        //if (!device.online)
                        //{
                        //    new Tip()
                        //    {
                        //        CloseTime = 1,
                        //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        //        Direction = AMPopTipDirection.None,
                        //    }.Show(MainPage.BaseView);
                        //    return;
                        //}
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add(attr.key, "");
                        Control.Ins.SendWriteCommand(device, d);
HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs
@@ -40,16 +40,16 @@
        /// </summary>
        void LoadControlEvent()
        {
            if (!function.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!function.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            btnChangeTVAV.MouseUpEventHandler = (sender, e) =>
            {
                if (DB_ResidenceData.Instance.GatewayType == 1)
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs
@@ -540,16 +540,16 @@
        /// <param name="value">auto:自动  sleep:睡眠  manual:手动  strong:强烈</param>
        private void SendModeComand(string value)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            this.btnMode.CanClick = false;
            HdlThreadLogic.Current.RunThread(() =>
            {
@@ -569,16 +569,16 @@
        /// <param name="value">canel:取消 1:1小时 2:2小时 3:4小时 4:8小时</param>
        private void SendTimingComand(string value)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            this.btnTime.CanClick = false;
            HdlThreadLogic.Current.RunThread(() =>
            {
@@ -598,16 +598,16 @@
        /// <param name="value">1:低档 2:中档 3:高档</param>
        private void SendFanSpeedComand(string value)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            this.btnFan.CanClick = false;
            HdlThreadLogic.Current.RunThread(() =>
            {
@@ -626,16 +626,16 @@
        /// </summary>
        private void SendSwitchComand()
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            this.btnPictrue.CanClick = false;
            this.btnSwitch.CanClick = false;
@@ -663,16 +663,16 @@
        /// </summary>
        private void SendEnableComand(MostRightIconControl btnSwitch, string sendKey, string value)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            if (btnSwitch != null)
            {
                btnSwitch.CanClick = false;
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs
@@ -99,7 +99,7 @@
            //档
            var strView = Language.StringByID(StringId.Gear);
            if (device.online)
            //if (device.online)
            {
                seekBarContr.ProgressChangedEvent += (div, value) =>
                {
@@ -179,16 +179,16 @@
        /// </summary>
        private void SendSwitchComand()
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            this.btnSwitch.CanClick = false;
            string statu = this.btnSwitch.IsSelected == true ? "off" : "on";
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs
@@ -167,16 +167,16 @@
        /// </summary>
        private void SendSwitchComand()
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            this.btnPictrue.CanClick = false;
            this.btnSwitch.CanClick = false;
@@ -282,16 +282,16 @@
        private void SetControlTime()
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            var timeControl = new BottomTimeSelectControl();
            timeControl.RowCount = 5;
            timeControl.InitControl(0,0);
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs
@@ -86,16 +86,16 @@
            btnSwitch.IsSelected = i_brushStatu;
            btnSwitch.ButtonClickEvent += (sender, e) =>
            {
                if (!i_device.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!i_device.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (btnSwitch.IsSelected == true)
                {
                    //取消的话直接取消
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs
@@ -455,16 +455,16 @@
        /// </summary>
        private void SendComand(string key, string i_value)
        {
            if (!device.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!device.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            HdlThreadLogic.Current.RunThread(() =>
            {
                var dic = new Dictionary<string, string>();
HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs
@@ -129,16 +129,16 @@
        /// </summary>
        void LoadEvent_TempChange()
        {
            if (!function.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!function.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            btnMinus.MouseUpEventHandler = (sender, e) =>
            {
                if(function.trait_on_off.curValue.ToString() == "off")
HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
@@ -86,16 +86,16 @@
        /// </summary>
        void LoadEvet_ChangeColorTemplatrue()
        {
            if (!function.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!function.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            barColorTemplatrue.OnProgressChangedEvent += (sender, value) =>
            {
                new System.Threading.Thread(() =>
@@ -141,16 +141,16 @@
        {
            dimmerBar.OnStopTrackingTouchEvent = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                onDimmerBar = false;
                function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress);
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
@@ -161,7 +161,7 @@
                dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
            };
            if (function.online)
            //if (function.online)
            {
                dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
                {
@@ -217,16 +217,16 @@
        {
            btnSwitch.MouseUpEventHandler += (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                //function.fadeTime = barFadeTime.Progress;
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                if (btnSwitch.IsSelected)
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
@@ -88,7 +88,7 @@
        /// </summary>
        void LoadEvent_DimmerBar()
        {
            if (function.online)
            //if (function.online)
            {
                dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
                {
@@ -148,16 +148,16 @@
        {
            btnSwitch.MouseUpEventHandler += (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                if (btnSwitch.IsSelected)
                {
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
@@ -88,16 +88,16 @@
        /// </summary>
        void LoadColorChangeEvent()
        {
            if (!function.online)
            {
                new Tip()
                {
                    CloseTime = 1,
                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    Direction = AMPopTipDirection.None,
                }.Show(MainPage.BaseView);
                return;
            }
            //if (!function.online)
            //{
            //    new Tip()
            //    {
            //        CloseTime = 1,
            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
            //        Direction = AMPopTipDirection.None,
            //    }.Show(MainPage.BaseView);
            //    return;
            //}
            DateTime colorChangeTime = DateTime.MinValue;
            //bool send = false;
@@ -215,16 +215,16 @@
            dimmerBar.OnStopTrackingTouchEvent = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(200);
@@ -237,7 +237,7 @@
                Control.Ins.SendWriteCommand(function, d);
            };
            if (function.online)
            //if (function.online)
            {
                dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
                {
@@ -336,10 +336,10 @@
        {
            btnRestoredPoint.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    return;
                }
                //if (!function.online)
                //{
                //    return;
                //}
                if(function.trait_on_off.curValue.ToString() == "off")
                {
                    return;
HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs
@@ -62,16 +62,16 @@
        {
            btnSwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitchIcon.IsSelected;
                new System.Threading.Thread(() =>
                {
@@ -84,16 +84,16 @@
            };
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                if (!function.online)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                //if (!function.online)
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
                {