wxr
2024-09-24 691dbe24f5724f153e07947c7b75bdfea5f0b6d5
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;
@@ -195,7 +204,7 @@
                    case SPK.HvacFan:
                        iconPath = "electricalfan";
                        break;
                    case SPK.HvacFloorHeat:
                    case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel:
                        iconPath = "floorHeatstandard";
                        break;
                    case SPK.ElectricTuyaFan2:
@@ -287,6 +296,11 @@
        /// 设备spk
        /// </summary>
        public string spk = "";
        /// <summary>
        /// 扩展信息
        /// 字符串
        /// </summary>
        public string extend = "";
        private string _SpkCategory = string.Empty;
        /// <summary>
@@ -449,7 +463,7 @@
        public bool online {
            get
            {
                if (spk == SPK.AirSwitchP3)
                if (spk == SPK.AirSwitchP3|| spk == SPK.ElectricalTvHisense)
                {
                    return _online;
                }
@@ -1058,6 +1072,11 @@
        /// 更新时间
        /// </summary>
        public DateTime refreshTime = DateTime.MinValue;
        /// <summary>
        /// 最后更新状态的时间
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public DateTime updateTime = DateTime.MinValue;
        /// <summary>
        /// 获取本地控制数据
@@ -1480,7 +1499,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>
        /// 状态,传感器
@@ -1703,6 +1727,16 @@
    public static class SPK
    {
        /// <summary>
        /// 未知SPK
        /// (自定义)
        /// </summary>
        public const string NULL = "NULL";
        /// <summary>
        /// 西墨可视对讲门口机
        /// (自定义)
        /// </summary>
        public const string LinphoneXiMo = "door.gate";
        /// <summary>
        /// 群控(自定义)
        /// </summary>
        public const string GroupControl = "groupControl";
@@ -1732,6 +1766,16 @@
        /// 子控
        /// </summary>
        public const string AcstSub = "acst.sub";
        /// <summary>
        /// 热水器
        /// 金茂
        /// </summary>
        public const string WaterHeaterJinmao = "electrical.water_heater.jinmao";
        /// <summary>
        /// 逆变器/新能源
        /// 金茂
        /// </summary>
        public const string InverterJinmao = "energy.inverter.jinmao";
        /// <summary>
        /// 门锁
@@ -1926,6 +1970,10 @@
        /// 地暖
        /// </summary>
        public const string HvacFloorHeat = "hvac.floorHeat";
        /// <summary>
        /// 面板地暖
        /// </summary>
        public const string HvacFloorHeatPanel = "hvac.floorHeat_panel";
        /// <summary>
        /// 地热spk列表
@@ -1935,7 +1983,7 @@
        {
            var spkList = new List<string>();
            spkList.Add(FloorHeatStandard);
            spkList.Add(HvacFloorHeat);
            spkList.Add(HvacFloorHeat); spkList.Add(HvacFloorHeatPanel);
            return spkList;
        }
        #endregion
@@ -2192,6 +2240,7 @@
            spkList.Add(SensorEnvironment2);
            spkList.Add(SensorEnvironment3);
            spkList.Add(SensorHcho);
            spkList.Add(SensorLight);
            return spkList;
        }
        /// <summary>
@@ -2208,6 +2257,7 @@
            spkList.Add(SensorTVOC);
            spkList.Add(SensorHumidity);
            spkList.Add(SensorHcho);
            spkList.Add(SensorLight);
            return spkList;
        }
@@ -2221,6 +2271,7 @@
            spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
            spkList.Add(SensorEnvironment2);
            spkList.Add(SensorEnvironment3);
            return spkList;
        }
@@ -2284,7 +2335,7 @@
        /// <summary>
        /// 红外热水器
        /// </summary>
        public const string HeaterIr = " ir.water_heater";
        public const string HeaterIr = "ir.water_heater";
        /// <summary>
        /// 红外风扇
        /// </summary>