wxr
2022-09-21 8d5792379f08075ed65fcadc2eeecc55467e341f
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -194,31 +194,6 @@
                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);
                    //}
                //ddd++;
                //    Function function_online = FunctionList.List.GetLightList().Find((obj) => obj.sid == "0001017DB92D2602020100010101");
                //    if(ddd%2 == 0)
                //    {
                //        function_online.online = true;
                //    }
                //    else
                //    {
                //        function_online.online = false;
                //    }
                //    HomePage.LoadEvent_RefreshDevcieOnline(function_online);
                };
#endif
@@ -581,32 +556,139 @@
#if DEBUG
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试梦幻窗帘",
                spk = SPK.CurtainDream,
                sid = "1234577",
                attributes = new List<FunctionAttributes> {
                    new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                    new FunctionAttributes(){ key = "percent",curValue= "100",state = "100" },
                    new FunctionAttributes(){ key = "angle",curValue= "0",state = "0" },
                name = "测试-空调科技系统总控",
                spk = SPK.AcstParent,
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.mode.ToString(),curValue = AcstParent_Attr_ModeValueEnum.cool.ToString(),state = AcstParent_Attr_ModeValueEnum.cool.ToString(),
                         value = new List<string>
                         {
                             AcstParent_Attr_ModeValueEnum.cool.ToString(),
                             AcstParent_Attr_ModeValueEnum.dry.ToString(),
                             AcstParent_Attr_ModeValueEnum.fan.ToString(),
                             AcstParent_Attr_ModeValueEnum.heat.ToString(),
                             AcstParent_Attr_ModeValueEnum.humidity.ToString(),
                             AcstParent_Attr_ModeValueEnum.heat_humidity.ToString(),
                         }
                    },
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.scene.ToString(), curValue = AcstParent_Attr_SceneValueEnum.at_home.ToString(), state = AcstParent_Attr_SceneValueEnum.at_home.ToString(),
                        value = new List<string>()
                        {
                            AcstParent_Attr_SceneValueEnum.at_home.ToString(),
                            AcstParent_Attr_SceneValueEnum.leave_home.ToString(),
                            AcstParent_Attr_SceneValueEnum.sleep.ToString(),
                        }
                    },
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.day_electricity.ToString(),curValue = "99",state = "99"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.month_electricity.ToString(),curValue = "999",state = "999"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.total_electricity.ToString(),curValue = "9999",state = "9999"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.active_power.ToString(),curValue = "9999",state = "9999"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.room_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.room_humidity.ToString(),curValue = "66",state = "66"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.co2.ToString(),curValue = "266",state = "266"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.tvoc.ToString(),curValue = "666",state = "666"},
                    new FunctionAttributes(){ key = AcstParent_AttrEnum.pm25.ToString(),curValue = "36",state = "36"},
                }
            });
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试毫米波传感器",
                spk = SPK.SenesorMegahealth,
                attributes = new List<FunctionAttributes>
                name = "测试-空调科技系统子控-1",
                spk = SPK.AcstSub,
                sid = "0000001",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = "enable",curValue = "true",state = "true" },
                    new FunctionAttributes(){ key = "people_num",curValue = "0",state = "0" },
                    new FunctionAttributes(){ key = "people_id",curValue = "1",state = "1" },
                    new FunctionAttributes(){ key = "target_status",curValue = "0",state = "0" },//0空,1走,2跑,3坐,4跌倒,5站
                    new FunctionAttributes(){ key = "people_status",curValue = "false",state = "false" },//状态  有人无人
                    //new FunctionAttributes(){ key = "",curValue = "",state = "" },
                    //new FunctionAttributes(){ key = "",curValue = "",state = "" },
                    //new FunctionAttributes(){ key = "",curValue = "",state = "" },
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.set_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_humidity.ToString(),curValue = "66",state = "66"},
                }
            });
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试-空调科技系统子控-2",
                spk = SPK.AcstSub,
                sid = "0000002",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.set_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_humidity.ToString(),curValue = "66",state = "66"},
                }
            });
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试-空调科技系统子控-3",
                spk = SPK.AcstSub,
                sid = "0000003",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.set_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_humidity.ToString(),curValue = "66",state = "66"},
                }
            });
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试-空调科技系统子控-4",
                spk = SPK.AcstSub,
                sid = "0000004",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.set_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_humidity.ToString(),curValue = "66",state = "66"},
                }
            });
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试-空调科技系统子控-5",
                spk = SPK.AcstSub,
                sid = "0000005",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = FunctionAttributeKey.OnOff ,curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.set_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_temp.ToString(),curValue = "26",state = "26"},
                    new FunctionAttributes(){ key = AcstSub_AttrEnum.room_humidity.ToString(),curValue = "66",state = "66"},
                }
            });
            //FunctionList.List.Functions.Add(new Function
            //{
            //    name = "测试梦幻窗帘",
            //    spk = SPK.CurtainDream,
            //    sid = "1234577",
            //    attributes = new List<FunctionAttributes> {
            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
            //        new FunctionAttributes(){ key = "percent",curValue= "100",state = "100" },
            //        new FunctionAttributes(){ key = "angle",curValue= "0",state = "0" },
            //    }
            //});
            //FunctionList.List.Functions.Add(new Function
            //{
            //    name = "测试毫米波传感器",
            //    spk = SPK.SenesorMegahealth,
            //    attributes = new List<FunctionAttributes>
            //    {
            //        new FunctionAttributes(){ key = "enable",curValue = "true",state = "true" },
            //        new FunctionAttributes(){ key = "people_num",curValue = "0",state = "0" },
            //        new FunctionAttributes(){ key = "people_id",curValue = "1",state = "1" },
            //        new FunctionAttributes(){ key = "target_status",curValue = "0",state = "0" },//0空,1走,2跑,3坐,4跌倒,5站
            //        new FunctionAttributes(){ key = "people_status",curValue = "false",state = "false" },//状态  有人无人
            //        //new FunctionAttributes(){ key = "",curValue = "",state = "" },
            //        //new FunctionAttributes(){ key = "",curValue = "",state = "" },
            //        //new FunctionAttributes(){ key = "",curValue = "",state = "" },
            //    }
            //});
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试温控器",
@@ -616,7 +698,7 @@
                    new FunctionAttributes(){ key = "on_off",curValue = "on",state = "on" },
                    new FunctionAttributes(){ key = "cac_valve",curValue = "on",state = "on" },//毛细阀
                    new FunctionAttributes(){ key = "fh_valve",curValue = "on",state = "on" },//地暖阀
                    new FunctionAttributes(){ key = "mode",curValue = "cool",state = "cool", value = new List<string>{ "cool","heat","fan"} },
                    new FunctionAttributes(){ key = "mode",curValue = "cool",state = "cool", value = new List<string>{ "cool","heat"} },
                    new FunctionAttributes(){ key = "set_temp",curValue = "20",state = "20",min = 16,max = 30 },
                    new FunctionAttributes(){ key = "room_temp",curValue = "20",state = "20" },
                    new FunctionAttributes(){ key = "dew_point_temp",curValue = "20",state = "20" },//露点温度
@@ -1036,11 +1118,16 @@
                    LoadDeviceFunctionDiv(functionView, function);
                    index++;
                    if (!function.online)
                    if(SPK.ArmSensorSpkList().Contains(function.spk))
                    {
                        btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
                        btnbg.UnSelectedImagePath = "Collection/FunctionOnbg.png";
                        btnbg.SelectedImagePath = "Collection/FunctionArmOnbg.png";
                    }
                    //if (!function.online)
                    //{
                    //    btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
                    //}
                }
                if (index == 0)
@@ -1178,9 +1265,6 @@
                };
                view.AddChidren(btnIcon);
                btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                Button btnName;
                btnName = new Button()
                {
@@ -1211,6 +1295,7 @@
                };
                view.AddChidren(btnZone);
                Button btnState;
                btnState = new Button()
                {
@@ -1225,6 +1310,69 @@
                    Tag = "state",
                    Text = function.lastState
                };
                if (function.spk == SPK.SenesorMegahealth)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    btnName.TextColor = CSS_Color.MainBackgroundColor;
                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainBackgroundColor;
                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus);
                    if (tempStatus != null)
                    {
                        switch (tempStatus.state)
                        {//0空,1走,2跑,3坐,4跌倒,5站
                            case "0":
                                function.lastState = Language.StringByID(StringId.SensorNormalState);
                                break;
                            case "1":
                                function.lastState = Language.StringByID(StringId.SomeoneIn);
                                break;
                            case "2":
                                if (function.extSet.labModel)
                                {
                                    function.lastState = Language.StringByID(StringId.SomeoneRunning);
                                }
                                else
                                {
                                    function.lastState = Language.StringByID(StringId.Someone);
                                }
                                break;
                            case "3":
                                if (function.extSet.labModel)
                                {
                                    function.lastState = Language.StringByID(StringId.SomeoneSitting);
                                }
                                else
                                {
                                    function.lastState = Language.StringByID(StringId.Someone);
                                }
                                break;
                            case "4":
                                function.lastState = Language.StringByID(StringId.SomeoneFell);
                                break;
                            case "5":
                                if (function.extSet.labModel)
                                {
                                    function.lastState = Language.StringByID(StringId.SomeoneStanding);
                                }
                                else
                                {
                                    function.lastState = Language.StringByID(StringId.Someone);
                                }
                                break;
                        }
                        btnState.Text = function.lastState;
                    }
                }
                else
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                }
                if (function.spk != SPK.LightSwitch)
                {
@@ -1340,7 +1488,7 @@
                       function.SetAttrState("on_off", status);
                        Dictionary<string, string> dic = new Dictionary<string, string>();
                        dic.Add("on_off", status);
                        Music.SendMethod.mMethod.SendControlCommand(function, dic);
                        Music.SendMethod.Current.SendControlCommand(function, dic);
                    };
                }
@@ -1376,6 +1524,24 @@
                    LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
                }
                else if (function.spk == SPK.SenesorMegahealth)
                {
                    //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png";
                    //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    //btnIcon.IsSelected = true;
                    btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainColor;//PromptingColor1
                }
                //紧急求助
                else if (function.spk == SPK.SensorHelp)
                {
                    btnName.TextColor = CSS_Color.MainBackgroundColor;
                    btnName.SelectedTextColor = CSS_Color.MainBackgroundColor;
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                }
                else
                {