wxr
2023-08-23 96e9ff2e5a54f54cdbb6b8b2f049fdf6a837de3c
OnPro/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -4,7 +4,6 @@
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
using Newtonsoft.Json.Linq;
using Shared;
@@ -185,987 +184,6 @@
                    });
                #endregion
            }
            #region 共享
            //var sharedView = new FrameLayout()
            //{
            //    Height = Application.GetRealHeight(55),
            //    BackgroundColor = CSS_Color.MainBackgroundColor,
            //};
            //contentView.AddChidren(sharedView);
            //var btnSharedText = new Button()
            //{
            //    X = Application.GetRealWidth(16),
            //    Width = Application.GetRealWidth(160),
            //    TextAlignment = TextAlignment.CenterLeft,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //    TextID = StringId.Shared,
            //};
            //sharedView.AddChidren(btnSharedText);
            //var btnSharedRight = new Button()
            //{
            //    X = Application.GetRealWidth(339),
            //    Gravity = Gravity.CenterVertical,
            //    Width = Application.GetMinRealAverage(16),
            //    Height = Application.GetMinRealAverage(16),
            //    UnSelectedImagePath = "Public/RightIcon.png",
            //};
            //sharedView.AddChidren(btnSharedRight);
            //sharedView.AddChidren(
            //    new Button()
            //    {
            //        Gravity = Gravity.CenterHorizontal,
            //        Y = Application.GetRealHeight(54),
            //        BackgroundColor = CSS_Color.DividingLineColor,
            //        Width = Application.GetRealWidth(343),
            //        Height = Application.GetRealHeight(1)
            //    });
            #endregion
            #region 删除设备行  序列号 型号
            if (this.function.spk == SPK.VideoDoorLock)
            {
                contentView.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(8),
                });
                #region 开锁设置
                var unlockSettingView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(unlockSettingView);
                //unlockSettingView.AddChidren(new Button
                //{
                //    Gravity = Gravity.CenterHorizontal,
                //    BackgroundColor = CSS_Color.DividingLineColor,
                //    Width = Application.GetRealWidth(343),
                //    Height = Application.GetRealHeight(1)
                //});
                var unlockRightBtn = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                unlockSettingView.AddChidren(unlockRightBtn);
                var btnUnlockText = new Button()
                {
                    X = Application.GetRealWidth(16),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.UnlockSetting,
                };
                unlockSettingView.AddChidren(btnUnlockText);
                EventHandler<MouseEventArgs> unlockSettingEvent = (sender, e) =>
                {
                    var page = new UnlockSettingPage(function);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                btnUnlockText.MouseUpEventHandler = unlockSettingEvent;
                #endregion
                #region 音频设置
                var audioSetupView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(audioSetupView);
                audioSetupView.AddChidren(new Button
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                });
                var btnAudioSetupRight = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                audioSetupView.AddChidren(btnAudioSetupRight);
                var btnAudioSetupText = new Button()
                {
                    X = Application.GetRealWidth(16),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.AudioSetup,
                };
                audioSetupView.AddChidren(btnAudioSetupText);
                btnAudioSetupText.MouseUpEventHandler = (sender, e) => {
                    var page = new VideoDoorlockAudioSetupPage(function);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                #endregion
                #region 电池管理
                var batteryManagementView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(batteryManagementView);
                batteryManagementView.AddChidren(new Button
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                });
                var btnBatteryManagementRight = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                batteryManagementView.AddChidren(btnBatteryManagementRight);
                var btnBatteryManagementText = new Button()
                {
                    X = Application.GetRealWidth(16),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.BatteryManagement,
                };
                batteryManagementView.AddChidren(btnBatteryManagementText);
                btnBatteryManagementText.MouseUpEventHandler = (sender, e) => {
                    var page = new VideoDoorlockBatteryManagementPage();
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                #endregion
                #region 序列号
                var serialView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(serialView);
                var serialLineBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                };
                serialView.AddChidren(serialLineBtn);
                var serialTextBtn = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.xuliehao,
                };
                serialView.AddChidren(serialTextBtn);
                var serialValuesBtn = new Button()
                {
                    X = Application.GetRealWidth(106),
                    Width = Application.GetRealWidth(237),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.TextFontSize,
                    Text = this.function.sid,
                };
                serialView.AddChidren(serialValuesBtn);
                #endregion
                #region 型号
                var modelView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(modelView);
                var modelLineBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                };
                modelView.AddChidren(modelLineBtn);
                var modelTextBtn = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.xinghao,
                };
                modelView.AddChidren(modelTextBtn);
                var modelValuesBtn = new Button()
                {
                    X = Application.GetRealWidth(106),
                    Width = Application.GetRealWidth(237),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.TextFontSize,
                    Text = this.function.omodel,
                };
                modelView.AddChidren(modelValuesBtn);
                #endregion
                #region 删除设备行
                contentView.AddChidren(new Button() {
                    Height = Application.GetRealHeight(48),
                });
                var delTextBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(220),
                    Height = Application.GetRealWidth(44),
                    TextAlignment = TextAlignment.Center,
                    TextColor = CSS_Color.WarningColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.DeleteDevice,
                    Radius = (uint)Application.GetRealWidth(22),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(delTextBtn);
                EventHandler<MouseEventArgs> ClickEvent = (sener, e) =>
                {
                    new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () =>
                    {
                        UI2.FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.DelDevice(this.function, (isBool) =>
                        {
                            Application.RunOnMainThread(() =>
                            {
                                if (!isBool)
                                {
                                    new Tip()
                                    {
                                        CloseTime = 1,
                                        Text = Language.StringByID(StringId.delFail),
                                        Direction = AMPopTipDirection.None,
                                    }.Show(bodyView);
                                    return;
                                }
                                //删除本地文件
                                UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function);
                                this.RemoveFromParent();
                                this.actionDel?.Invoke();
                            });
                        });
                    });
                };
                delTextBtn.MouseUpEventHandler = ClickEvent;
                #endregion
            }
            #endregion
#if stage2
            #region 添加到桌面
            var addToDesktopView = new FrameLayout()
            {
                Height = Application.GetRealHeight(55),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(addToDesktopView);
            var btnAddToDesktopText = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(160),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.AddToDesktop,
            };
            addToDesktopView.AddChidren(btnAddToDesktopText);
            var btnAddToDesktopRight = new Button()
            {
                X = Application.GetRealWidth(339),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            addToDesktopView.AddChidren(btnAddToDesktopRight);
            #endregion
#endif
            if (function.spk == SPK.ElectricEnergy)
            {
                #region 能源数据
                var energyView1 = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(energyView1);
                var btnEnergyText1 = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.RealTimeEnergyConsumption,
                };
                energyView1.AddChidren(btnEnergyText1);
                double realTimePower = 0;
                double.TryParse(function.GetAttrState(FunctionAttributeKey.Power), out realTimePower);
                realTimePower /= 1000;
                var energyValue1 = new Button()
                {
                    Width = Application.GetRealWidth(355),
                    TextAlignment = TextAlignment.CenterRight,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextColor = CSS_Color.PromptingColor1,
                    Text = realTimePower + "kW",
                };
                energyView1.AddChidren(energyValue1);
                energyView1.AddChidren(
                    new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
                        //Y = Application.GetRealHeight(54),
                        BackgroundColor = CSS_Color.DividingLineColor,
                        Width = Application.GetRealWidth(343),
                        Height = Application.GetRealHeight(1)
                    });
                //-----------------
                var energyView2 = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(energyView2);
                var btnEnergyText2 = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.EnergyConsumptionOfThisMonth,
                };
                energyView2.AddChidren(btnEnergyText2);
                var btnEnergyValue2 = new Button()
                {
                    Width = Application.GetRealWidth(355),
                    TextAlignment = TextAlignment.CenterRight,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextColor = CSS_Color.PromptingColor1,
                    Text = "--kW",
                };
                energyView2.AddChidren(btnEnergyValue2);
                energyView2.AddChidren(
                    new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Y = Application.GetRealHeight(54),
                        BackgroundColor = CSS_Color.DividingLineColor,
                        Width = Application.GetRealWidth(343),
                        Height = Application.GetRealHeight(1)
                    });
                new System.Threading.Thread(() =>
                {
                    var pm = new HttpServerRequest();
                    var data = pm.GetLastMonthHistory(function.deviceId, FunctionAttributeKey.TotalElectricity);
                    if (data != null)
                    {
                        if (data.Code == StateCode.SUCCESS)
                        {
                            var dataPack = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(data.Data.ToString());
                            if (dataPack != null)
                            {
                                try
                                {
                                    var dataValue = dataPack.GetValue("monthDiff").ToString();
                                    if (!string.IsNullOrEmpty(dataValue))
                                    {
                                        Application.RunOnMainThread(() =>
                                        {
                                            btnEnergyValue2.Text = dataValue + "kW‧h";
                                        });
                                    }
                                }
                                catch
                                {
                                }
                            }
                        }
                    }
                })
                { IsBackground = true }.Start();
                #endregion
            }
            else if (function.spk == SPK.HvacCac)
            {
                #region 露点温度
                if (function.GetAttribute(FunctionAttributeKey.dew_point_temp) != null)
                {
                    contentView.AddChidren(new Button
                    {
                        Height = Application.GetRealHeight(10),
                    });
                    var row = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(55),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    contentView.AddChidren(row);
                    var btnText = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(260),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextID = StringId.DewPointTemp,
                    };
                    row.AddChidren(btnText);
                    var btnValue = new Button()
                    {
                        Width = Application.GetRealWidth(355),
                        TextAlignment = TextAlignment.CenterRight,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.TextFontSize,
                        Text = function.GetAttrState(FunctionAttributeKey.dew_point_temp) + "°C",
                    };
                    row.AddChidren(btnValue);
                }
                #endregion
                #region 表面温度
                if (function.GetAttribute(FunctionAttributeKey.surface_temp) != null)
                {
                    contentView.AddChidren(new Button
                    {
                        Height = Application.GetRealHeight(10),
                    });
                    var surfaceTempRow = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(55),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    contentView.AddChidren(surfaceTempRow);
                    var btnSurfacaTempText = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(260),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextID = StringId.SurfaceTemperature,
                    };
                    surfaceTempRow.AddChidren(btnSurfacaTempText);
                    var btnSurfaceTempValue = new Button()
                    {
                        Width = Application.GetRealWidth(355),
                        TextAlignment = TextAlignment.CenterRight,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.TextFontSize,
                        Text = function.GetAttrState(FunctionAttributeKey.surface_temp) + "°C",
                    };
                    surfaceTempRow.AddChidren(btnSurfaceTempValue);
                }
                #endregion
                #region 温度校准
                if (function.GetAttribute(FunctionAttributeKey.room_temp_cc) != null)
                {
                    contentView.AddChidren(new Button
                    {
                        Height = Application.GetRealHeight(10),
                    });
                    var tempCCrow = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(55),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    contentView.AddChidren(tempCCrow);
                    var btnTempCcText = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(260),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextID = StringId.TemperatureCalibration,
                    };
                    tempCCrow.AddChidren(btnTempCcText);
                    var btnTempCcValue = new Button()
                    {
                        Width = Application.GetRealWidth(335),
                        TextAlignment = TextAlignment.CenterRight,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.TextFontSize,
                        Text = function.GetAttrState(FunctionAttributeKey.room_temp_cc) + "°C",
                    };
                    tempCCrow.AddChidren(btnTempCcValue);
                    var btnRightTempCc = new Button()
                    {
                        X = Application.GetRealWidth(339),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetMinRealAverage(16),
                        Height = Application.GetMinRealAverage(16),
                        UnSelectedImagePath = "Public/RightIcon.png",
                    };
                    tempCCrow.AddChidren(btnRightTempCc);
                    btnTempCcValue.MouseUpEventHandler = (sender, e) =>
                    {
                        LoadEditDialog(-10, 10, Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.room_humidity_cc)), (reslut) =>
                        {
                            btnTempCcValue.Text = reslut + "°C";
                            Dictionary<string, string> dic = new Dictionary<string, string>();
                            dic.Add(FunctionAttributeKey.room_temp_cc, reslut);
                            Control.Ins.SendWriteCommand(function, dic);
                        });
                    };
                }
                #endregion
                #region 湿度校准
                if (function.GetAttribute(FunctionAttributeKey.room_humidity_cc) != null)
                {
                    contentView.AddChidren(new Button
                    {
                        Height = Application.GetRealHeight(10),
                    });
                    var humidityCCrow = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(55),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    contentView.AddChidren(humidityCCrow);
                    var btnHumidityCcText = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(260),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextID = StringId.HumidityCalibration,
                    };
                    humidityCCrow.AddChidren(btnHumidityCcText);
                    var btnHumidityCcValue = new Button()
                    {
                        Width = Application.GetRealWidth(335),
                        TextAlignment = TextAlignment.CenterRight,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.TextFontSize,
                        Text = function.GetAttrState(FunctionAttributeKey.room_humidity_cc) + "%",
                    };
                    humidityCCrow.AddChidren(btnHumidityCcValue);
                    var btnRightHumidityCc = new Button()
                    {
                        X = Application.GetRealWidth(339),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetMinRealAverage(16),
                        Height = Application.GetMinRealAverage(16),
                        UnSelectedImagePath = "Public/RightIcon.png",
                    };
                    humidityCCrow.AddChidren(btnRightHumidityCc);
                    btnHumidityCcValue.MouseUpEventHandler = (sender, e) =>
                    {
                        LoadEditDialog(-20, 20, Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.room_humidity_cc)), (reslut) =>
                        {
                            btnHumidityCcValue.Text = reslut + "%";
                            Dictionary<string, string> dic = new Dictionary<string, string>();
                            dic.Add(FunctionAttributeKey.room_humidity_cc, reslut);
                            Control.Ins.SendWriteCommand(function, dic);
                        });
                    };
                }
                #endregion
                #region 毛细阀门
                if (function.GetAttribute(FunctionAttributeKey.cac_valve) != null)
                {
                    contentView.AddChidren(new Button
                    {
                        Height = Application.GetRealHeight(10),
                    });
                    var cacValveRow = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(55),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    contentView.AddChidren(cacValveRow);
                    var btnCacValveText = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(260),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextID = StringId.CapillaryValve,
                    };
                    cacValveRow.AddChidren(btnCacValveText);
                    var btnCacValvaValue = new Button()
                    {
                        Width = Application.GetRealWidth(355),
                        TextAlignment = TextAlignment.CenterRight,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.TextFontSize,
                        TextID = function.GetAttrState(FunctionAttributeKey.cac_valve) == "on"? StringId.On:StringId.OFF,
                    };
                    cacValveRow.AddChidren(btnCacValvaValue);
                }
                #endregion
                #region 地暖阀门
                if (function.GetAttribute(FunctionAttributeKey.fh_valve) != null)
                {
                    contentView.AddChidren(new Button
                    {
                        Height = Application.GetRealHeight(10),
                    });
                    var fhValveRow = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(55),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    contentView.AddChidren(fhValveRow);
                    var btnFhValveText = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(260),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextID = StringId.FloorHeatingValve,
                    };
                    fhValveRow.AddChidren(btnFhValveText);
                    var btnFhValvaValue = new Button()
                    {
                        Width = Application.GetRealWidth(355),
                        TextAlignment = TextAlignment.CenterRight,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.TextFontSize,
                        TextID = function.GetAttrState(FunctionAttributeKey.fh_valve) == "on"? StringId.On:StringId.OFF,
                    };
                    fhValveRow.AddChidren(btnFhValvaValue);
                }
                #endregion
            }
            else if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
            {
                contentView.AddChidren(new Button
                {
                    Height = Application.GetRealHeight(8),
                });
                #region 推送开关
                var viewRow0 = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(viewRow0);
                var btnRowTitle0 = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.AlarmFunction,
                };
                viewRow0.AddChidren(btnRowTitle0);
                var btnSwtichIcon0 = new Button()
                {
                    X = Application.GetRealWidth(322),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(36),
                    Height = Application.GetMinRealAverage(36),
                    UnSelectedImagePath = "Public/Switch_2.png",
                    SelectedImagePath = "Public/SwitchOn_2.png",
                };
                viewRow0.AddChidren(btnSwtichIcon0);
                DeviceMessageRules deviceMessageRules = new DeviceMessageRules()
                {
                    deviceId = function.deviceId
                };
                btnSwtichIcon0.MouseUpEventHandler = (sender, e) => {
                    var push = btnSwtichIcon0.IsSelected = !btnSwtichIcon0.IsSelected;
                    new System.Threading.Thread(() => {
                        var result = new HttpServerRequest().DeviceMessageRulesSet(function.deviceId, deviceMessageRules.conditionIdentify, push);//设置推送信息
                        Application.RunOnMainThread(() =>
                        {
                            if (result != null && result.Code == StateCode.SUCCESS)
                            {
                                    deviceMessageRules.push = push;
                            }
                            else
                            {
                                btnSwtichIcon0.IsSelected = deviceMessageRules.push;
                            }
                        });
                    })
                    { IsBackground = true }.Start();
                };
                Loading waitView = new Loading();
                viewRow0.AddChidren(waitView);
                new System.Threading.Thread(() => {
                    Application.RunOnMainThread(() => {
                        waitView.Start("");
                    });
                    var result = new HttpServerRequest().GetDeviceMessageRulesSet(function.deviceId);
                    //var result1 = new HttpServerRequest().DeviceMessageRulesSet(function.deviceId);//设置推送信息
                    Application.RunOnMainThread(() =>
                    {
                        if (result != null && result.Code == StateCode.SUCCESS && result.Data != null)
                        {
                            var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DeviceMessageRules>>(result.Data.ToString());
                            if (data.Count > 0)
                            {
                                deviceMessageRules = data[0];
                                btnSwtichIcon0.IsSelected = deviceMessageRules.push;
                            }
                        }
                        else
                        {
                            btnSwtichIcon0.IsSelected = false;
                        }
                        waitView.Hide();
                        waitView.RemoveFromParent();
                    });
                })
                { IsBackground = true }.Start();
                viewRow0.AddChidren(new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Y = Application.GetRealHeight(54),
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                });
                #endregion
                #region 演示模式
                var viewRow = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(viewRow);
                var btnRowTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.LaboratoryMode,
                };
                viewRow.AddChidren(btnRowTitle);
                var btnSwtichIcon = new Button()
                {
                    X = Application.GetRealWidth(322),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(36),
                    Height = Application.GetMinRealAverage(36),
                    UnSelectedImagePath = "Public/Switch_2.png",
                    SelectedImagePath = "Public/SwitchOn_2.png",
                    IsSelected = function.extSet.labModel
                };
                viewRow.AddChidren(btnSwtichIcon);
                btnSwtichIcon.MouseUpEventHandler = (sender, e) =>
                {
                    btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
                    new System.Threading.Thread(() =>
                    {
                        var result = new HttpServerRequest().DeviceExtSet(function.deviceId, function.extSet);
                        Application.RunOnMainThread(() =>
                        {
                            if (result != null && result.Code == StateCode.SUCCESS)
                            {
                                if (Convert.ToBoolean( result.Data ))
                                {
                                    function.extSet.labModel = btnSwtichIcon.IsSelected;
                                }
                                else
                                {
                                    btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
                                }
                            }
                            else
                            {
                                btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
                            }
                        });
                    })
                    { IsBackground = true }.Start();
                };
                #endregion
            }
            //else if(function.spk == SPK.LightRGB)
            //{
            //    contentView.AddChidren(new Button
            //    {
            //        Height = Application.GetRealHeight(8),
            //    });
            //    var list = FunctionList.List.GetSeries();
            //    foreach (var temp in list)
            //    {
            //        #region
            //        var viewRow0 = new FrameLayout()
            //        {
            //            Height = Application.GetRealHeight(55),
            //            BackgroundColor = CSS_Color.MainBackgroundColor,
            //        };
            //        contentView.AddChidren(viewRow0);
            //        var btnRowTitle0 = new Button()
            //        {
            //            X = Application.GetRealWidth(16),
            //            Width = Application.GetRealWidth(160),
            //            TextAlignment = TextAlignment.CenterLeft,
            //            TextColor = CSS_Color.FirstLevelTitleColor,
            //            TextSize = CSS_FontSize.SubheadingFontSize,
            //            Text = temp.name,
            //        };
            //        viewRow0.AddChidren(btnRowTitle0);
            //        var btnSwtichIcon0 = new Button()
            //        {
            //            X = Application.GetRealWidth(322),
            //            Gravity = Gravity.CenterVertical,
            //            Width = Application.GetMinRealAverage(36),
            //            Height = Application.GetMinRealAverage(36),
            //            UnSelectedImagePath = "Public/Switch_2.png",
            //            SelectedImagePath = "Public/SwitchOn_2.png",
            //        };
            //        viewRow0.AddChidren(btnSwtichIcon0);
            //        DeviceMessageRules deviceMessageRules = new DeviceMessageRules()
            //        {
            //            deviceId = function.deviceId
            //        };
            //        btnSwtichIcon0.MouseUpEventHandler = (sender, e) =>
            //        {
            //        };
            //        viewRow0.AddChidren(new Button()
            //        {
            //            Gravity = Gravity.CenterHorizontal,
            //            Y = Application.GetRealHeight(54),
            //            BackgroundColor = CSS_Color.DividingLineColor,
            //            Width = Application.GetRealWidth(343),
            //            Height = Application.GetRealHeight(1)
            //        });
            //        #endregion
            //    }
            //}
            LoadEventList();
        }