mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/Entity/Function/Function.cs
@@ -108,6 +108,7 @@
        /// 获取属性当前状态
        /// </summary>
        /// <param name="key"></param>
        /// <param name="defaultValue">默认值</param>
        /// <returns></returns>
        public string GetAttrState(string key, string defaultValue = "0")
        {
@@ -120,7 +121,7 @@
            if (string.IsNullOrEmpty(attrState.state))
            {
                //二级查询keyValue值
                return GetOriginalState(key);
                return GetOriginalState(key, defaultValue);
            }
            return attrState.state;
        }
@@ -130,13 +131,14 @@
        /// 默认值:0
        /// </summary>
        /// <param name="key">语雀定义的属性值</param>
        /// <param name="defaultValue">默认值</param>
        /// <returns></returns>
        public string GetOriginalState(string key)
        public string GetOriginalState(string key, string defaultValue)
        {
            var originalState = status.Find((s) => s.key == key.ToString());
            if (originalState == null || string.IsNullOrEmpty(originalState.value))
            {
                return "0";
                return defaultValue;
            }
            return originalState.value;
        }
@@ -171,6 +173,13 @@
                string iconPath = spk.Replace(".", "");
                switch (spk)
                {
                    case SPK.SensorDryContact2:
                    case SPK.OtherCommon:
                        iconPath = "sensordryContact";
                        break;
                    //case SPK.SensorLight:
                    //    iconPath = "lightswitch";
                    //    break;
                    case SPK.AirSwitchP3:
                        iconPath = "electricalbreaker";
                        break;
@@ -449,7 +458,7 @@
        public bool online {
            get
            {
                if (spk == SPK.AirSwitchP3)
                if (spk == SPK.AirSwitchP3|| spk == SPK.ElectricalTvHisense)
                {
                    return _online;
                }
@@ -860,9 +869,24 @@
                    }
                }
            }
            else if (spk == SPK.MusicStandard|| spk == SPK.AvMusic)
            else if (spk == SPK.MusicStandard || spk == SPK.AvMusic)
            {
                list.AddRange(attributes);
                list.Add(new FunctionAttributes
                {
                    key = FunctionAttributeKey.OnOff,
                    curValue = string.Empty,
                });
                list.Add(new FunctionAttributes
                {
                    key = FunctionAttributeKey.Volume,
                    curValue = string.Empty,
                });
                list.Add(new FunctionAttributes
                {
                    key = FunctionAttributeKey.SongName,
                    curValue = string.Empty,
                });
            }
            else if (spk == SPK.ElectricalTvHisense)
            {
@@ -962,7 +986,8 @@
                switch (attr.key)
                {
                    case FunctionAttributeKey.SongName:
                    case FunctionAttributeKey.Volume:
                    case FunctionAttributeKey.SetVolume:
                    case FunctionAttributeKey.Signal:
                    case FunctionAttributeKey.OnOff:
@@ -1042,6 +1067,11 @@
        /// 更新时间
        /// </summary>
        public DateTime refreshTime = DateTime.MinValue;
        /// <summary>
        /// 最后更新状态的时间
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public DateTime updateTime = DateTime.MinValue;
        /// <summary>
        /// 获取本地控制数据
@@ -1464,7 +1494,12 @@
        public const string Temperature = "temperature";
        public const string Hcho = "hcho";
        public const string Humidity = "humidity";
        /// <summary>
        /// 照度
        /// </summary>
        public const string Illuminance = "illuminance";
        public const string Pm25 = "pm25";
        public const string Pm10 = "pm10";
        public const string Tvoc = "tvoc";
        /// <summary>
        /// 状态,传感器
@@ -1610,6 +1645,24 @@
        /// 海信tv信号源(0:LiveTV;2:PS;3:HDMI_1;4:HDMI_2;5:HDMI_3;6:HDMI_4;11:AV;)
        /// </summary>
        public const string Signal = "signal";
        /// <summary>
        /// 音乐音量
        /// </summary>
        public const string Volume = "volume";
        /// <summary>
        /// 歌曲名
        /// </summary>
        public const string SongName = "song_name";
        /// <summary>
        /// 列表名
        /// </summary>
        public const string PlaylistName = "playlist_name";
        /// <summary>
        /// 播放路径
        /// </summary>
        public const string Url = "url";
    }
    /// <summary>
@@ -2158,6 +2211,7 @@
            spkList.Add(SensorEnvironment2);
            spkList.Add(SensorEnvironment3);
            spkList.Add(SensorHcho);
            spkList.Add(SensorLight);
            return spkList;
        }
        /// <summary>
@@ -2174,6 +2228,7 @@
            spkList.Add(SensorTVOC);
            spkList.Add(SensorHumidity);
            spkList.Add(SensorHcho);
            spkList.Add(SensorLight);
            return spkList;
        }
@@ -2187,6 +2242,7 @@
            spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
            spkList.Add(SensorEnvironment2);
            spkList.Add(SensorEnvironment3);
            return spkList;
        }
@@ -2250,7 +2306,7 @@
        /// <summary>
        /// 红外热水器
        /// </summary>
        public const string HeaterIr = " ir.water_heater";
        public const string HeaterIr = "ir.water_heater";
        /// <summary>
        /// 红外风扇
        /// </summary>