wxr
2023-07-19 6fe1c5ebeb8312edc479a4576f05d80c5051a6c6
HDL_ON/Entity/Function/Function.cs
@@ -109,7 +109,7 @@
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public string GetAttrState(string key , string defaultValue = "0")
        public string GetAttrState(string key, string defaultValue = "0")
        {
            //一级查询keyValue值
            var attrState = attributes.Find((s) => s.key == key.ToString());
@@ -279,7 +279,7 @@
        /// <summary>
        /// 物理设备(模块)型号
        /// </summary>
        public string omodel =string.Empty;
        public string omodel = string.Empty;
        /// <summary>
        /// 设备spk
        /// </summary>
@@ -372,6 +372,39 @@
        /// attri
        /// </summary>
        public List<FunctionAttributes> attributes = new List<FunctionAttributes>();
        public List<FunctionAttributes> GetFunctionAttributes()
        {
            if (spk == SPK.GroupControl)
            {
                var list = new List<FunctionAttributes>();
                var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid);
                if (gc != null)
                {
                    foreach (var temp in gc.sids)
                    {
                        var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid);
                        if (light != null)
                        {
                            foreach (var attr in light.attributes)
                            {
                                if (list.Find((obj) => obj.key == attr.key) == null)
                                {
                                    list.Add(attr);
                                }
                            }
                        }
                    }
                }
                return list;
            }
            else
            {
                return attributes;
            }
        }
        /// <summary>
        /// 房间ID列表
@@ -766,6 +799,10 @@
        public SceneFunction ConvertSceneFunction()
        {
            var sFunc = new SceneFunction();
            if(spk == SPK.GroupControl)
            {
            }
            foreach (var attr in attributes)
            {
                //窗帘同时发送开关跟百分比会有问题,
@@ -778,6 +815,9 @@
                            continue;
                        }
                    }
                }else if (spk == SPK.GroupControl)
                {
                    sFunc.type = "5";
                }
                string us = "";
@@ -816,11 +856,15 @@
                    case FunctionAttributeKey.CCT:
                    case FunctionAttributeKey.RGB:
                    case FunctionAttributeKey.Angle:
                    case FunctionAttributeKey.Colorful:
                    case FunctionAttributeKey.ColorfulBegin:
                    case FunctionAttributeKey.ColorfulEnd:
                    case FunctionAttributeKey.ColorfulTime:
                    case "security":
                        //case FunctionAttributeKey.FadeTime:
                        if (attr.curValue.ToString() == "{}")
                        {
                            if (attr.key == FunctionAttributeKey.OnOff)
                            if (attr.key == FunctionAttributeKey.OnOff || attr.key == FunctionAttributeKey.Colorful)
                            {
                                attr.curValue = "off";
                            }
@@ -869,7 +913,6 @@
                                UintString = us,
                                key = attr.key, value = attr.curValue.ToString(), max = attr.max, min = attr.min });
                        }
                        break;
                }
            }
@@ -1421,7 +1464,7 @@
        /// <summary>
        /// 群控(自定义)
        /// </summary>
        public const string GroupControl = "GroupControl";
        public const string GroupControl = "groupControl";
        /// <summary>
        /// 通用开关
        /// </summary>
@@ -1467,9 +1510,14 @@
        
        /// <summary>
        /// 猫眼
        /// 猫眼(旧spk)
        /// </summary>
        public const string Peephole = "peephole";
        /// <summary>
        /// 猫眼(新spk 暂时没用)
        /// </summary>
        //public const string PeepholeEz = "security.peephole.ez";
        /// <summary>
        /// 萤石视频门锁
        /// </summary>