From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 16 七月 2024 13:59:56 +0800 Subject: [PATCH] 增加全部挂断 --- HDL_ON/Entity/Function/Function.cs | 130 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 123 insertions(+), 7 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 7f37cae..7bcc154 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/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,6 +869,43 @@ } } } + else if (spk == SPK.MusicStandard || spk == SPK.AvMusic) + { + 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) + { + list.Add(new FunctionAttributes + { + key = FunctionAttributeKey.OnOff, + curValue = string.Empty, + }); + list.Add(new FunctionAttributes + { + key = FunctionAttributeKey.SetVolume, + curValue = string.Empty, + }); + list.Add(new FunctionAttributes + { + key = FunctionAttributeKey.Signal, + curValue = string.Empty, + }); + } else { list.AddRange(attributes); @@ -867,6 +913,10 @@ foreach (var attr in list) { + if(attr.key == FunctionAttributeKey.ColorfulBegin || attr.key == FunctionAttributeKey.ColorfulEnd || attr.key == FunctionAttributeKey.ColorfulTime) + { + continue; + } //绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝 if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex || spk == SPK.CurtainDream) { @@ -936,6 +986,10 @@ switch (attr.key) { + case FunctionAttributeKey.SongName: + case FunctionAttributeKey.Volume: + case FunctionAttributeKey.SetVolume: + case FunctionAttributeKey.Signal: case FunctionAttributeKey.OnOff: case FunctionAttributeKey.Brightness: case FunctionAttributeKey.Mode: @@ -1013,6 +1067,11 @@ /// 鏇存柊鏃堕棿 /// </summary> public DateTime refreshTime = DateTime.MinValue; + /// <summary> + /// 鏈�鍚庢洿鏂扮姸鎬佺殑鏃堕棿 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public DateTime updateTime = DateTime.MinValue; /// <summary> /// 鑾峰彇鏈湴鎺у埗鏁版嵁 @@ -1435,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> /// 鐘舵��,浼犳劅鍣� @@ -1573,6 +1637,32 @@ /// </summary> public const string TotalElectricity = "total_electricity"; + /// <summary> + /// 娴蜂俊tv闊抽噺 + /// </summary> + public const string SetVolume = "set_volume"; + /// <summary> + /// 娴蜂俊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> @@ -1697,6 +1787,11 @@ /// </summary> public const string Ev_Ipcam = "security.ipcam.ez"; /// <summary> + /// 褰遍煶涓帶 + /// </summary> + public const string AvZkAiks = "av.zk.aiks"; + + /// <summary> /// 钀ょ煶瑙嗛闂ㄩ攣spk鍒楄〃 /// </summary> /// <returns></returns> @@ -1704,6 +1799,20 @@ { var list = new List<string>(); list.Add(VideoDoorLock); + return list; + } + + + /// <summary> + /// 褰遍煶涓帶spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> GetVideoControlsSPKList() + { + var list = new List<string> + { + AvZkAiks + }; return list; } @@ -2102,6 +2211,7 @@ spkList.Add(SensorEnvironment2); spkList.Add(SensorEnvironment3); spkList.Add(SensorHcho); + spkList.Add(SensorLight); return spkList; } /// <summary> @@ -2118,6 +2228,7 @@ spkList.Add(SensorTVOC); spkList.Add(SensorHumidity); spkList.Add(SensorHcho); + spkList.Add(SensorLight); return spkList; } @@ -2131,6 +2242,7 @@ spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin); spkList.Add(SensorEnvironment2); spkList.Add(SensorEnvironment3); + return spkList; } @@ -2138,6 +2250,10 @@ #endregion #region 瀹剁數 + /// <summary> + /// 娴蜂俊鐢佃 + /// </summary> + public const string ElectricalTvHisense = "electrical.tv.hisense"; /// <summary> /// 瀹剁數銆佹彃搴� /// </summary> @@ -2190,7 +2306,7 @@ /// <summary> /// 绾㈠鐑按鍣� /// </summary> - public const string HeaterIr = " ir.water_heater"; + public const string HeaterIr = "ir.water_heater"; /// <summary> /// 绾㈠椋庢墖 /// </summary> @@ -2255,8 +2371,8 @@ spkList.Add(ElectricTuyaWeepRobot2); spkList.Add(ElectricTuyaWaterValve); spkList.Add(ElectricTuyaWaterValve2); - //spkList.Add(AirSwitch); - //spkList.Add(AirSwitchP3); + spkList.Add(AirSwitch); + spkList.Add(ElectricalTvHisense); return spkList; } -- Gitblit v1.8.0