wei
2020-12-22 d07d62be7111d78b2aaa44c9cdee23a7d22b4dda
HDL_ON/Entity/Function/Function.cs
@@ -162,7 +162,7 @@
            {
                if (_trait_on_off == null)
                {
                    _trait_on_off = attributes.Find((obj) => obj.key == "on_off");
                    _trait_on_off = attributes.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
                    //找不到属性需要声明一个,防止报错闪退
                    if (_trait_on_off == null)
                    {
@@ -173,8 +173,12 @@
                            max = 1,
                            min = 0,
                        };
                        _trait_on_off.curValue = "off";
                    }
                    _trait_on_off.curValue = "on";
                }
                if(_trait_on_off.curValue.ToString() != "on"&& _trait_on_off.curValue.ToString() != "off")
                {
                    _trait_on_off.curValue = "off";
                }
                return _trait_on_off;
            }
@@ -231,7 +235,7 @@
                {
                    roomNameList += ",";
                }
                roomNameList += findRoom.floorName + findRoom.roomName;
                roomNameList += findRoom.floorName +"-"+ findRoom.roomName;
            }
            if (roomNameList == "" && functionType == FunctionType.Scene)
            {
@@ -286,19 +290,37 @@
            var sFunc = new SceneFunction();
            foreach (var attr in attributes)
            {
                if (attr.curValue.ToString() == "{}")
                switch (attr.key)
                {
                    attr.curValue = "0";
                }
                if (attr.key == FunctionAttributeKey.SetTemp)
                {
                    double vv = 16;
                    Double.TryParse(attr.curValue.ToString(),out vv);
                    sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() });
                }
                else
                {
                    sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString() });
                    case FunctionAttributeKey.OnOff:
                    case FunctionAttributeKey.Brightness:
                    case FunctionAttributeKey.Mode:
                    case FunctionAttributeKey.SetTemp:
                    case FunctionAttributeKey.FanSpeed:
                    case FunctionAttributeKey.Percent:
                    //case FunctionAttributeKey.FadeTime:
                        if (attr.curValue.ToString() == "{}")
                        {
                            if (attr.key == FunctionAttributeKey.OnOff)
                            {
                                attr.curValue = "off";
                            }
                            else
                            {
                                attr.curValue = "0";
                            }
                        }
                        if (attr.key == FunctionAttributeKey.SetTemp)
                        {
                            double vv = 16;
                            Double.TryParse(attr.curValue.ToString(), out vv);
                            sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() });
                        }
                        else
                        {
                            sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString() });
                        }
                        break;
                }
            }
            sFunc.sid = this.sid;
@@ -343,6 +365,7 @@
            ApiAlinkControlActionObj aaao = new ApiAlinkControlActionObj();
            aaao.deviceId = this.deviceId;
            aaao.spk = this.spk;
            aaao.bus = this.bus;
            foreach (var kv in keyValues)
            {
                aaao.attributes.Add(new AlinkControlAttributes()
@@ -503,6 +526,10 @@
        /// 室内温度
        /// </summary>
        public const string IndoorTemp = "room_temp";
        /// <summary>
        /// value
        /// </summary>
        public const string Value = "value";
    }
    /// <summary>
    /// 设备功能oid