wxr
2024-12-02 ea0b1e8e5f43c5fd0a7d479e25ede3b8cbea464a
HDL_ON/Entity/Function/Function.cs
@@ -146,20 +146,34 @@
        /// <summary>
        /// 设置属性状态
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="setKey"></param>
        /// <param name="setValues"></param>
        /// <returns>修改结果</returns>
        public bool SetAttrState(string key, object value)
        public bool SetAttrState(string setKey, object setValues)
        {
            var attr = attributes.Find((s) => s.key == key);
            var attr = attributes.Find((s) => s.key == setKey);
            if (attr == null)
            {
                switch (setKey)
                {
                    case FunctionAttributeKey.CoolTemperatrue:
                    case FunctionAttributeKey.HeatTemperatrue:
                    case FunctionAttributeKey.AutoTemperatrue:
                    case FunctionAttributeKey.DehumiTemperatrue:
                        attributes.Add(new FunctionAttributes()
                        {
                            key = setKey,
                            state = setValues.ToString(),
                            curValue = setValues.ToString(),
                        });
                        return true;
                }
                return false;
            }
            else
            {
                attr.state = value.ToString();
                attr.curValue = value.ToString();
                attr.state = setValues.ToString();
                attr.curValue = setValues.ToString();
            }
            return true;
        }
@@ -200,12 +214,14 @@
                        iconPath = "airFreshjinmao";
                        break;
                    case SPK.HvacAC:
                    case SPK.HvacAcPanel:
                        iconPath = "acstandard";
                        break;
                    case SPK.HvacFan:
                        iconPath = "electricalfan";
                        break;
                    case SPK.HvacFloorHeat:
                    case SPK.HvacFloorHeatPanel:
                        iconPath = "floorHeatstandard";
                        break;
                    case SPK.ElectricTuyaFan2:
@@ -249,7 +265,6 @@
        [Newtonsoft.Json.JsonIgnore]
        public Dictionary<string, byte> Fh_Mode_Temp = new Dictionary<string, byte>();
        #endregion
        #region base info    
        public string sid = "0301011234567801012301230123";
@@ -297,6 +312,11 @@
        /// 设备spk
        /// </summary>
        public string spk = "";
        /// <summary>
        /// 扩展信息
        /// 字符串
        /// </summary>
        public string extend = "";
        private string _SpkCategory = string.Empty;
        /// <summary>
@@ -524,10 +544,6 @@
        #endregion
        //public void
        /// <summary>
        /// 延时
        /// </summary>
@@ -667,22 +683,18 @@
                        result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code;
                    }
                }
                //提示错误
                if (result != StateCode.SUCCESS)
                {
                    Application.RunOnMainThread(() =>
                    {
                        collect = !collect;
                        IMessageCommon.Current.ShowErrorInfoAlter(result);
                    });
                }
                else
                Application.RunOnMainThread(() =>
                {
                    Application.RunOnMainThread(() =>
                    {
                        UI.HomePage.RefreshFunctionView();
                    });
                }
                    this.SaveFunctionFile();
                    UI.HomePage.RefreshFunctionView();
                });
            })
            { IsBackground = true }.Start();
        }
@@ -1295,7 +1307,45 @@
    /// </summary>
    public static class FunctionAttributeKey
    {
        #region 空调bus属性
        /// <summary>
        /// 制冷模式温度
        /// </summary>
        public const string CoolTemperatrue = "CoolTemperatrue";
        /// <summary>
        /// 制热模式温度
        /// </summary>
        public const string HeatTemperatrue = "HeatTemperatrue";
        /// <summary>
        /// 自动模式温度
        /// </summary>
        public const string AutoTemperatrue = "AutoTemperatrue";
        /// <summary>
        /// 除湿模式温度
        /// </summary>
        public const string DehumiTemperatrue = "DehumiTemperatrue";
        #endregion
        #region 空调bus属性
        /// <summary>
        /// [4]普通:设置温度(摄氏0-100,华氏32-212)/功率值(0-10) (1byte)
        /// </summary>
        public const string NormalTemperatrue = "NormalTemperatrue";
        /// <summary>
        /// [5]白天:设置温度(摄氏0-100,华氏32-212)/功率值(0-10) (1byte)
        /// </summary>
        public const string DayTemperatrue = "DayTemperatrue";
        /// <summary>
        /// [6]夜晚:设置温度(摄氏0-100,华氏32-212)/功率值(0-10) (1byte)
        /// </summary>
        public const string NightTemperatrue = "NightTemperatrue";
        /// <summary>
        /// [7]离开:设置温度(摄氏0-100,华氏32-212)/功率值(0-10) (1byte)
        /// </summary>
        public const string AwayTemperatrue = "AwayTemperatrue";
        #region 三相空开属性
        /// <summary>
        /// A相功率
        /// </summary>
@@ -1365,6 +1415,7 @@
        /// </summary>
        public const string ElectricityC = "electricity_c";
        #endregion
        #endregion
@@ -1738,6 +1789,20 @@
    public static class SPK
    {
        /// <summary>
        /// 未知SPK
        /// (自定义)
        /// </summary>
        public const string NULL = "NULL";
        /// <summary>
        /// 电梯
        /// </summary>
        public const string Elevator = "Elevator";
        /// <summary>
        /// 西墨可视对讲门口机
        /// (自定义)
        /// </summary>
        public const string LinphoneXiMo = "door.gate";
        /// <summary>
        /// 群控(自定义)
        /// </summary>
        public const string GroupControl = "groupControl";
@@ -1767,6 +1832,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>
        /// 门锁
@@ -1793,7 +1868,7 @@
        /// <summary>
        /// 猫眼(新spk 暂时没用)
        /// </summary>
        public const string PeepholeEz = "security.peephole.ez";
        //public const string PeepholeEz = "security.peephole.ez";
        /// <summary>
        /// 萤石视频门锁
        /// </summary>
@@ -1840,8 +1915,6 @@
        {
            var list = new List<string>();
            list.Add(Ev_Ipcam);
            list.Add(Peephole);
            list.Add(PeepholeEz);
            return list;
        }
@@ -1935,6 +2008,10 @@
        /// </summary>
        public const string HvacAC = "hvac.ac";
        /// <summary>
        /// 面板空调
        /// </summary>
        public const string HvacAcPanel = "hvac.ac_panel";
        /// <summary>
        /// 毛细管空调
        /// </summaryc
        public const string HvacCac = "hvac.cac";
@@ -1948,6 +2025,7 @@
            var spkList = new List<string>();
            spkList.Add(AcStandard);
            spkList.Add(HvacAC);
            spkList.Add(HvacAcPanel);
            spkList.Add(AcIr);
            spkList.Add(HvacCac);
            return spkList;
@@ -1963,6 +2041,10 @@
        /// 地暖
        /// </summary>
        public const string HvacFloorHeat = "hvac.floorHeat";
        /// <summary>
        /// 面板地暖
        /// </summary>
        public const string HvacFloorHeatPanel = "hvac.floorHeat_panel";
        /// <summary>
        /// 地热spk列表
@@ -1972,7 +2054,7 @@
        {
            var spkList = new List<string>();
            spkList.Add(FloorHeatStandard);
            spkList.Add(HvacFloorHeat);
            spkList.Add(HvacFloorHeat); spkList.Add(HvacFloorHeatPanel);
            return spkList;
        }
        #endregion