HDL Home App 第二版本 旧平台金堂用 正在使用
wjc
2022-12-01 351bdda734832d821a9764b0cde8be5d83c4ec50
ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
@@ -84,15 +84,15 @@
                {
                    //过滤掉不支持的设备
                    continue;
                }
                if (device.Type == DeviceType.DoorLock)
                {
                    var myInfo = LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                    if (myInfo.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
                    {
                        //暂时不支持S-one门锁;
                        //过滤掉不支持S-one门锁设备;
                        continue;
                }
                if (device.Type == DeviceType.DoorLock)
                {
                    var myInfo = LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                    if (myInfo.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
                    {
                        //暂时不支持S-one门锁;
                        //过滤掉不支持S-one门锁设备;
                        continue;
                    }
                }
                if (type == "condition_mould")
@@ -293,16 +293,29 @@
                    break;
                case DeviceType.TemperatureSensor:
                    {
                        var temperatureSensor = device as TemperatureSensor;
                        if (temperatureSensor.SensorDiv == 1)
                        //获取设备类型
                        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                        //空气质量传感器
                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                        {
                            patm = $"ZigeeLogic/temperature.png";
                            selectedpatm = $"ZigeeLogic/selectedtemperature.png";
                            patm = $"ZigeeLogic/airquality.png";
                            selectedpatm = $"ZigeeLogic/airqualityselected.png";
                        }
                        else
                        {
                            patm = "ZigeeLogic/humidity.png";
                            selectedpatm = "ZigeeLogic/selectedhumidity.png";
                            var temperatureSensor = device as TemperatureSensor;
                            if (temperatureSensor.SensorDiv == 1)
                            {
                                patm = $"ZigeeLogic/temperature.png";
                                selectedpatm = $"ZigeeLogic/selectedtemperature.png";
                            }
                            else
                            {
                                patm = "ZigeeLogic/humidity.png";
                                selectedpatm = "ZigeeLogic/selectedhumidity.png";
                            }
                        }
                    }
                    break;
@@ -594,7 +607,9 @@
                    }; break;
                case 5:
                    {
                        string len = "", text = "";
                        string len = "";
                         string   text = "";
                        string weekStr = Language.StringByID(MyInternationalizationString.week1);
                        List<int> listvalueInt = new List<int>();
                        listvalueInt.Clear();
                        var maxvalue = Convert.ToString(currentLogic.TimeAttribute.WeekDay, 2);
@@ -610,44 +625,36 @@
                            if (strvalue == "1")
                            {
                                listvalueInt.Add(j + 1);
                                if ((j + 1) == 1)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.mon1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.mon) + ",";
                                switch ((j + 1)) {
                                    case 1: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.mon1) + ",";
                                        }
                                        break;
                                    case 2: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.tue1) + ",";
                                        }
                                        break;
                                    case 3: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.wed1) + ",";
                                        }
                                        break;
                                    case 4: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.thu1) + ",";
                                        }
                                        break;
                                    case 5: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.frl1) + ",";
                                        }
                                        break;
                                    case 6: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.sat1) + ",";
                                        }
                                        break;
                                    case 7: {
                                            text += weekStr + Language.StringByID(MyInternationalizationString.sun1) + ",";
                                        }
                                        break;
                                }
                                else if ((j + 1) == 2)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.tue1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.tue) + ",";
                                }
                                else if ((j + 1) == 3)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.wed1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.wed) + ",";
                                }
                                else if ((j + 1) == 4)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.thu1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.thu) + ",";
                                }
                                else if ((j + 1) == 5)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.frl1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.frl) + ",";
                                }
                                else if ((j + 1) == 6)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.sat1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.sat) + ",";
                                }
                                else if ((j + 1) == 7)
                                {
                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.sun1) + ",";
                                    //text += Language.StringByID(MyInternationalizationString.sun) + ",";
                                }
                            }
                        }
@@ -668,8 +675,7 @@
                        //{
                        //    btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.week1) + text.Replace(Language.StringByID(MyInternationalizationString.week1), "").TrimEnd(',');
                        //}
                        button.Text = Language.StringByID(MyInternationalizationString.week1) + text.Replace(Language.StringByID(MyInternationalizationString.week1), "").TrimEnd(',');
                        //btndisplaycycle.Text = text.TrimEnd(',');
                        button.Text = weekStr + text.Replace(weekStr, "").TrimEnd(',');
                    }; break;
            }
@@ -771,7 +777,7 @@
            if (CurrentLogic.Conditions.Count == 0 || CurrentLogic.Actions.Count == 0)
            {
                var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
                  Language.StringByID(MyInternationalizationString.addnull),
                  Language.StringByID(MyInternationalizationString.confrim));
                alert.Show();
@@ -780,7 +786,7 @@
            if (string.IsNullOrEmpty(name))
            {
                var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
                  Language.StringByID(MyInternationalizationString.PleaseEnterLogicName),
                  Language.StringByID(MyInternationalizationString.confrim));
                alert.Show();
@@ -901,6 +907,60 @@
            UserView.HomePage.Instance.RemoveViewByTag("Logic");//移除所有标记Logic界面
            if (LogicView.IfString._Logic == if_logic)
            {
                //查询-当前逻辑-是否添加地理位置作为条件
                var exist = Common.Logic.CurrentLogic.Conditions.Find((obj) => obj["Type"] == "7");
                if (exist==null)
                {
                    bool if_type = false;
                    //查询-逻辑列表-是否添加过地理位置作为条件
                    for (int a = 0; a < Common.Logic.LogicList.Count; a++)
                    {
                        var logic = Common.Logic.LogicList[a];
                        var exist_logic = logic.Conditions.Find((obj) => obj["Type"] == "7");
                        if (exist_logic != null)
                        {
                            //是否存在地理位置条件
                            if_type = true;
                            //退出for循环
                            break;
                        }
                    }
                    if (if_type)
                    {
                        //查询之前状态是否已经开启GPS服务(以本地存储状态为主 0:没开启; 1:开启)
                        if (Send.If_Exist == "0")
                        {
                            //开启GPS服务
                            Application.StartGPSLocationService();
                            //保存GPS服务开启状态
                            Send.SaveLocalFile(Config.Instance.HomeId + "_GPS_File", "1");
                        }
                    }
                    else
                    {
                        //如果找不到地理位置作为条件的话,关闭GPS服务(减少耗电)
                        if (Send.If_Exist == "1")
                        {
                            //关闭GPS服务
                            Application.StopGPSLocationService();
                            //保存GPS服务关闭状态
                            Send.SaveLocalFile(Config.Instance.HomeId + "_GPS_File", "0");
                        }
                    }
                }
                else
                {
                    //查询之前状态是否已经开启GPS服务(以本地存储状态为主 0:没开启; 1:开启)
                    if (Send.If_Exist == "0")
                    {
                        //开启GPS服务
                        Application.StartGPSLocationService();
                        //保存GPS服务开启状态
                        Send.SaveLocalFile(Config.Instance.HomeId + "_GPS_File", "1");
                    }
                }
                //只刷新分类-自动化上下滑动view;
                Phone.Category.CategoryMainForm.instance?.RefreshBodyView();
                // Category.Category.instance?.RefreshBodyView();
@@ -944,5 +1004,8 @@
        /// 界面高度
        /// </summary>
        public static int H = 1922;
    }
}