From ea0b1e8e5f43c5fd0a7d479e25ede3b8cbea464a Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期一, 02 十二月 2024 17:17:19 +0800 Subject: [PATCH] tcp;可视对讲; --- HDL_ON/Entity/Function/Function.cs | 722 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 677 insertions(+), 45 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index a93532b..edcda72 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -76,7 +76,8 @@ DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 return startTime.AddMilliseconds(Convert.ToDouble(time_stamp)).ToString("s"); } - catch { + catch + { return DateTime.MinValue.ToString("s"); } } @@ -100,7 +101,7 @@ /// <returns></returns> public FunctionAttributes GetAttribute(string key) { - var attr = attributes.Find((a) => a.key == key); + var attr = GetFunctionAttributes().Find((a) => a.key == key); return attr; } @@ -108,8 +109,9 @@ /// 鑾峰彇灞炴�у綋鍓嶇姸鎬� /// </summary> /// <param name="key"></param> + /// <param name="defaultValue">榛樿鍊�</param> /// <returns></returns> - public string GetAttrState(string key , string defaultValue = "0") + public string GetAttrState(string key, string defaultValue = "0") { //涓�绾ф煡璇eyValue鍊� var attrState = attributes.Find((s) => s.key == key.ToString()); @@ -120,7 +122,7 @@ if (string.IsNullOrEmpty(attrState.state)) { //浜岀骇鏌ヨkeyValue鍊� - return GetOriginalState(key); + return GetOriginalState(key, defaultValue); } return attrState.state; } @@ -130,33 +132,48 @@ /// 榛樿鍊硷細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; } /// <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; } @@ -171,6 +188,16 @@ 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; case SPK.PanelSocket: iconPath = "electricalsocket"; break; @@ -183,13 +210,18 @@ case SPK.HvacAirFresh: iconPath = "airFreshstandard"; break; + case SPK.HvacAirFreshJinmao: + 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: @@ -234,7 +266,6 @@ public Dictionary<string, byte> Fh_Mode_Temp = new Dictionary<string, byte>(); #endregion - #region base info public string sid = "0301011234567801012301230123"; /// <summary> @@ -274,9 +305,18 @@ /// </summary> public string extDevId = string.Empty; /// <summary> + /// 鐗╃悊璁惧(妯″潡)鍨嬪彿 + /// </summary> + public string omodel = string.Empty; + /// <summary> /// 璁惧spk /// </summary> public string spk = ""; + /// <summary> + /// 鎵╁睍淇℃伅 + /// 瀛楃涓� + /// </summary> + public string extend = ""; private string _SpkCategory = string.Empty; /// <summary> @@ -366,6 +406,39 @@ /// </summary> public List<FunctionAttributes> attributes = new List<FunctionAttributes>(); + public List<FunctionAttributes> GetFunctionAttributes() + { + if (spk == SPK.GroupControl) + { + var list = new List<FunctionAttributes>(); + var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); + if (gc != null) + { + foreach (var temp in gc.sids) + { + var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid); + if (light != null) + { + foreach (var attr in light.attributes) + { + if (list.Find((obj) => obj.key == attr.key) == null) + { + list.Add(attr); + } + } + } + } + } + + return list; + } + else + { + return attributes; + } + } + + /// <summary> /// 鎴块棿ID鍒楄〃 /// 璇ュ姛鑳芥坊鍔犲埌鍒版埧闂村垪琛� @@ -402,20 +475,53 @@ /// </summary> public bool collect = false; - private bool _online = false; - /// <summary> - /// 鏄惁鍦ㄧ嚎 - /// </summary> + private bool _online; public bool online { get { + if (spk == SPK.AirSwitchP3 || spk == SPK.ElectricalTvHisense) + { + return _online; + } return true; } set { _online = value; } + } + ///// <summary> + ///// 鏄惁鍦ㄧ嚎 + ///// </summary> + //public bool online + //{ + // get + // { + // if(spk == SPK.AirSwitchP3) + // { + // return _online; + // } + // return true; + // } + // set + // { + // _online = value; + // } + //} + + public bool isOnline() + { + if (spk == SPK.AirSwitchP3) + { + return online; + } + return true; + } + + public void setOnine(bool isOnline) + { + online = isOnline; } /// <summary> @@ -438,10 +544,6 @@ #endregion - - //public void - - /// <summary> /// 寤舵椂 /// </summary> @@ -451,6 +553,31 @@ /// </summary> [Newtonsoft.Json.JsonIgnore] public string lastState = ""; + /// <summary> + /// 鑾峰彇鐘舵�佹樉绀烘枃鏈� + /// </summary> + /// <returns></returns> + public string GetLastStateText() + { + var text = ""; + switch (spk) + { + case SPK.HvacCac: + switch (GetAttrState(FunctionAttributeKey.Mode)) + { + case "cool": + text = Language.StringByID(StringId.Cool); + break; + case "heat": + text = Language.StringByID(StringId.Heat); + break; + } + + break; + + } + return text; + } FunctionAttributes _trait_on_off; [Newtonsoft.Json.JsonIgnore] @@ -495,6 +622,14 @@ SetAttrState(sta.key, sta.value); } } + /// <summary> + /// 鍔熻兘鍒楄〃鎺掑簭 + /// </summary> + public int FunctionOrderNumber = 9999; + /// <summary> + /// 鎴块棿鍒楄〃鎺掑簭 + /// </summary> + public int RoomOrderNumber = 9999; /// <summary> @@ -525,29 +660,41 @@ new System.Threading.Thread(() => { - if (collect) + if (spk == SPK.GroupControl) { - result = ApiUtlis.Ins.HttpRequest.CollectDevice(deviceId).Code; + var groupControl = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); + if (collect) + { + result = ApiUtlis.Ins.HttpRequest.CollectGroupControl(groupControl.userDeviceGroupControlId).Code; + } + else + { + result = ApiUtlis.Ins.HttpRequest.CancelCollectGroupControl(groupControl.userDeviceGroupControlId).Code; + } } else { - result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code; + if (collect) + { + result = ApiUtlis.Ins.HttpRequest.CollectDevice(deviceId).Code; + } + else + { + result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code; + } } - //鎻愮ず閿欒 if (result != StateCode.SUCCESS) { Application.RunOnMainThread(() => { - collect = !collect; IMessageCommon.Current.ShowErrorInfoAlter(result); }); - } else - { - Application.RunOnMainThread(() => - { - UI.HomePage.RefreshFunctionView(); - }); } + Application.RunOnMainThread(() => + { + this.SaveFunctionFile(); + UI.HomePage.RefreshFunctionView(); + }); }) { IsBackground = true }.Start(); } @@ -640,7 +787,7 @@ /// <summary> /// 淇濆瓨鎴块棿缁戝畾淇℃伅 /// </summary> - public void UpdataRoomIds() + public async void UpdataRoomIds() { new System.Threading.Thread(() => { @@ -712,10 +859,154 @@ public SceneFunction ConvertSceneFunction() { var sFunc = new SceneFunction(); - foreach (var attr in attributes) + + var list = new List<FunctionAttributes>(); + if (spk == SPK.GroupControl) { + lock (list) + { + var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); + if (gc != null) + { + foreach (var temp in gc.sids) + { + var tempDevice = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid); + if (tempDevice != null) + { + foreach (var attr in tempDevice.attributes) + { + if (list.Find((obj) => obj.key == attr.key) == null) + { + list.Add(attr); + } + } + } + } + } + } + } + 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); + } + + 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) + { + if (attr.key == FunctionAttributeKey.OnOff) + { + if (attributes.Find((obj) => obj.key == FunctionAttributeKey.Percent) != null) + { + continue; + } + } + } + else if (spk == SPK.GroupControl) + { + sFunc.type = "5"; + } + switch (attr.key) { + case FunctionAttributeKey.SetTemp: + var tt = GetAttribute(FunctionAttributeKey.TempType); + if (tt == null) + { + attr.unit = "掳C"; + } + else + { + if (tt.unit == string.Empty) + { + attr.unit = "掳C"; + } + else + { + if (tt.unit == "C") + { + attr.unit = "掳C"; + } + else if (tt.unit == "F") + { + attr.unit = "掳F"; + } + else + { + attr.unit = tt.unit; + } + } + } + break; + case FunctionAttributeKey.RoomTemp: + attr.unit = "掳C"; + var tempType = attributes.Find((obj) => obj.key == FunctionAttributeKey.TempType); + if (tempType != null) + { + attr.unit = tempType.curValue.ToString(); + } + break; + case FunctionAttributeKey.Percent: + case FunctionAttributeKey.Brightness: + attr.unit = "%"; + break; + case FunctionAttributeKey.CCT: + attr.unit = "K"; + break; + case FunctionAttributeKey.Angle: + attr.unit = "掳"; + break; + } + + + switch (attr.key) + { + case FunctionAttributeKey.SongName: + case FunctionAttributeKey.Volume: + case FunctionAttributeKey.SetVolume: + case FunctionAttributeKey.Signal: case FunctionAttributeKey.OnOff: case FunctionAttributeKey.Brightness: case FunctionAttributeKey.Mode: @@ -725,11 +1016,15 @@ case FunctionAttributeKey.CCT: case FunctionAttributeKey.RGB: case FunctionAttributeKey.Angle: + case FunctionAttributeKey.Colorful: + case FunctionAttributeKey.ColorfulBegin: + case FunctionAttributeKey.ColorfulEnd: + case FunctionAttributeKey.ColorfulTime: case "security": //case FunctionAttributeKey.FadeTime: if (attr.curValue.ToString() == "{}") { - if (attr.key == FunctionAttributeKey.OnOff) + if (attr.key == FunctionAttributeKey.OnOff || attr.key == FunctionAttributeKey.Colorful) { attr.curValue = "off"; } @@ -751,7 +1046,7 @@ } } } - else if(attr.key == "security") + else if (attr.key == "security") { attr.curValue = "false"; } @@ -768,13 +1063,26 @@ { vv = 26; } - sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString(), max = attr.max, min = attr.min }); + sFunc.status.Add(new SceneFunctionStatus() + { + UintString = attr.unit, + key = attr.key, + value = Convert.ToInt32(vv).ToString(), + max = attr.max, + min = attr.min + }); } else { - sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString(), max = attr.max, min = attr.min }); + sFunc.status.Add(new SceneFunctionStatus() + { + UintString = attr.unit, + key = attr.key, + value = attr.curValue.ToString(), + max = attr.max, + min = attr.min + }); } - break; } } @@ -786,6 +1094,11 @@ /// 鏇存柊鏃堕棿 /// </summary> public DateTime refreshTime = DateTime.MinValue; + /// <summary> + /// 鏈�鍚庢洿鏂扮姸鎬佺殑鏃堕棿 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public DateTime updateTime = DateTime.MinValue; /// <summary> /// 鑾峰彇鏈湴鎺у埗鏁版嵁 @@ -920,6 +1233,10 @@ /// 浜戠璐熻矗鐢熸垚 /// </summary> public string deviceId = "0"; + /// <summary> + /// 鍦ㄧ嚎鐘舵�� + /// </summary> + public bool online = true; public List<AttributesStatus> status = new List<AttributesStatus>(); } /// <summary> @@ -979,6 +1296,10 @@ /// 褰撳墠鍊� /// </summary> public object curValue = new object(); + /// <summary> + /// 灞炴�у崟浣� + /// </summary> + public string unit = string.Empty; } /// <summary> @@ -986,6 +1307,118 @@ /// </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> + public const string PowerA = "power_a"; + /// <summary> + /// B鐩稿姛鐜� + /// </summary> + public const string PowerB = "power_b"; + /// <summary> + /// C鐩稿姛鐜� + /// </summary> + public const string PowerC = "power_c"; + /// <summary> + /// A鐩哥數鍘� + /// </summary> + public const string VoltageA = "voltage_a"; + /// <summary> + /// B鐩哥數鍘� + /// </summary> + public const string VoltageB = "voltage_b"; + /// <summary> + /// C鐩哥數鍘� + /// </summary> + public const string VoltageC = "voltage_c"; + /// <summary> + /// A鐩哥數娴� + /// </summary> + public const string CurrentA = "current_a"; + /// <summary> + /// B鐩哥數娴� + /// </summary> + public const string CurrentB = "current_b"; + /// <summary> + /// C鐩哥數娴� + /// </summary> + public const string CurrentC = "current_c"; + /// <summary> + /// A鐩告俯搴� + /// </summary> + public const string TempA = "temp_a"; + /// <summary> + /// B鐩告俯搴� + /// </summary> + public const string TempB = "temp_b"; + /// <summary> + /// C鐩告俯搴� + /// </summary> + public const string TempC = "temp_c"; + /// <summary> + /// 杩囨祦鍊� + /// </summary> + public const string MaxCurrent = "max_current"; + /// <summary> + /// 杩囨俯鍊� + /// </summary> + public const string MaxTemp = "max_temp"; + /// <summary> + /// A鐩哥數閲� + /// </summary> + public const string ElectricityA = "electricity_a"; + /// <summary> + /// B鐩哥數閲� + /// </summary> + public const string ElectricityB = "electricity_b"; + /// <summary> + /// C鐩哥數閲� + /// </summary> + public const string ElectricityC = "electricity_c"; + + #endregion + #endregion + + public const string _null = ""; /// <summary> /// 瀹夐槻甯冮槻鐘舵�� @@ -999,6 +1432,22 @@ /// 浜害 /// </summary> public const string Brightness = "brightness"; + /// <summary> + /// 鐐僵寮�鍏� + /// </summary> + public const string Colorful = "colorful"; + /// <summary> + /// 鐐僵寮�鍚鑹� + /// </summary> + public const string ColorfulBegin = "colorful_begin"; + /// <summary> + /// 鐐僵缁撴潫棰滆壊 + /// </summary> + public const string ColorfulEnd = "colorful_end"; + /// <summary> + /// 鐐僵杩愯鏃堕棿 + /// </summary> + public const string ColorfulTime = "colorful_time"; /// <summary> /// 棰滆壊 /// </summary> @@ -1111,7 +1560,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> /// 鐘舵��,浼犳劅鍣� @@ -1249,6 +1703,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> @@ -1293,7 +1773,8 @@ try { return Convert.ToByte(loopId, 16); - } catch + } + catch { return 0; } @@ -1308,9 +1789,31 @@ 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"; + /// <summary> /// 閫氱敤寮�鍏� /// </summary> public const string OtherCommon = "other.common"; + /// <summary> + /// 搴忓垪 + /// </summary> + public const string CommonSeries = "other.series"; /// <summary> /// 澶у崕鎽勫儚澶� /// </summary> @@ -1319,11 +1822,32 @@ /// 鏈烘鎵� /// </summary> public const string MechanicalArm = "electrical.mechanical_arm"; + /// <summary> + /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級 + /// 鎬绘帶 + /// </summary> + public const string AcstParent = "acst.parent"; + /// <summary> + /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級 + /// 瀛愭帶 + /// </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> /// 闂ㄩ攣 /// </summary> public const string DoorLock = "security.door"; + /// <summary> /// 闂ㄩ攣spk鍒楄〃 /// </summary> @@ -1336,6 +1860,63 @@ } + /// <summary> + /// 鐚溂(鏃pk) + /// </summary> + public const string Peephole = "peephole"; + + /// <summary> + /// 鐚溂(鏂皊pk 鏆傛椂娌$敤) + /// </summary> + //public const string PeepholeEz = "security.peephole.ez"; + /// <summary> + /// 钀ょ煶瑙嗛闂ㄩ攣 + /// </summary> + public const string VideoDoorLock = "security.door.ezviz"; + /// <summary> + /// 钀ょ煶鎽勫儚澶� + /// </summary> + public const string Ev_Ipcam = "security.ipcam.ez"; + /// <summary> + /// 褰遍煶涓帶 + /// </summary> + public const string AvZkAiks = "av.zk.aiks"; + + /// <summary> + /// 钀ょ煶瑙嗛闂ㄩ攣spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> GetVideoDoorLockSPKList() + { + 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; + } + + /// <summary> + /// 钀ょ煶鎽勫儚澶磗pk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> GetEvIpcamSPKList() + { + var list = new List<string>(); + list.Add(Ev_Ipcam); + return list; + } #region 鐏厜 /// <summary> @@ -1426,6 +2007,14 @@ /// 绌鸿皟 /// </summary> public const string HvacAC = "hvac.ac"; + /// <summary> + /// 闈㈡澘绌鸿皟 + /// </summary> + public const string HvacAcPanel = "hvac.ac_panel"; + /// <summary> + /// 姣涚粏绠$┖璋� + /// </summaryc + public const string HvacCac = "hvac.cac"; /// <summary> /// 绌鸿皟spk鍒楄〃 @@ -1436,7 +2025,9 @@ var spkList = new List<string>(); spkList.Add(AcStandard); spkList.Add(HvacAC); + spkList.Add(HvacAcPanel); spkList.Add(AcIr); + spkList.Add(HvacCac); return spkList; } #endregion @@ -1450,6 +2041,10 @@ /// 鍦版殩 /// </summary> public const string HvacFloorHeat = "hvac.floorHeat"; + /// <summary> + /// 闈㈡澘鍦版殩 + /// </summary> + public const string HvacFloorHeatPanel = "hvac.floorHeat_panel"; /// <summary> /// 鍦扮儹spk鍒楄〃 @@ -1459,7 +2054,7 @@ { var spkList = new List<string>(); spkList.Add(FloorHeatStandard); - spkList.Add(HvacFloorHeat); + spkList.Add(HvacFloorHeat); spkList.Add(HvacFloorHeatPanel); return spkList; } #endregion @@ -1473,6 +2068,14 @@ /// 鏂伴 /// </summary> public const string HvacAirFresh = "hvac.airFresh"; + /// <summary> + /// 鏂伴 鈥斺�旈噾鑼傚畾鍒� + /// </summary> + public const string AirFreshJinmao = "airFresh.jinmao"; + /// <summary> + /// 鏂伴 鈥斺�旈噾鑼傚畾鍒� + /// </summary> + public const string HvacAirFreshJinmao = "hvac.airFresh.jinmao"; /// <summary> /// 鏂伴spk鍒楄〃 @@ -1482,12 +2085,22 @@ { var spkList = new List<string>(); spkList.Add(AirFreshStandard); + spkList.Add(AirFreshJinmao); spkList.Add(HvacAirFresh); + spkList.Add(HvacAirFreshJinmao); return spkList; } #endregion #region 鑳芥簮 + /// <summary> + /// 閫嗗彉鍣� + /// </summary> + public const string Inverter = "energy.inverter"; + /// <summary> + /// 涓夌浉閫嗗彉鍣� + /// </summary> + public const string InverterRst = "energy.inverter_rst"; /// <summary> /// 鑳芥簮妯″潡 /// </summary> @@ -1505,6 +2118,8 @@ { var spkList = new List<string>(); spkList.Add(ElectricEnergy); + spkList.Add(AirSwitch); + spkList.Add(AirSwitchP3); return spkList; } #endregion @@ -1543,6 +2158,10 @@ /// (绾㈠绉诲姩浼犳劅鍣�) /// </summary> public const string SensorPir = "sensor.pir"; + /// <summary> + /// 浜轰綋瀛樺湪浼犳劅鍣� + /// </summary> + public const string SensorPirHold = "sensor.pir_hold"; /// <summary> /// 锛堥棬绐椾紶鎰熷櫒锛� /// </summary> @@ -1598,6 +2217,7 @@ var spkList = new List<string>(); //spkList.Add(SensorLight); spkList.Add(SensorPir); + spkList.Add(SensorPirHold); spkList.Add(SensorHelp); spkList.Add(SensorDoorWindow); spkList.Add(SensorSmoke); @@ -1687,10 +2307,11 @@ spkList.Add(SensorCO2); spkList.Add(SensorTVOC); spkList.Add(SensorHumidity); - spkList.Add(SensorEnvironment); + spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin); spkList.Add(SensorEnvironment2); spkList.Add(SensorEnvironment3); spkList.Add(SensorHcho); + spkList.Add(SensorLight); return spkList; } /// <summary> @@ -1707,6 +2328,7 @@ spkList.Add(SensorTVOC); spkList.Add(SensorHumidity); spkList.Add(SensorHcho); + spkList.Add(SensorLight); return spkList; } @@ -1717,9 +2339,10 @@ public static List<string> EvironmentSensorList() { var spkList = new List<string>(); - spkList.Add(SensorEnvironment); + spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin); spkList.Add(SensorEnvironment2); spkList.Add(SensorEnvironment3); + return spkList; } @@ -1727,6 +2350,10 @@ #endregion #region 瀹剁數 + /// <summary> + /// 娴蜂俊鐢佃 + /// </summary> + public const string ElectricalTvHisense = "electrical.tv.hisense"; /// <summary> /// 瀹剁數銆佹彃搴� /// </summary> @@ -1779,7 +2406,7 @@ /// <summary> /// 绾㈠鐑按鍣� /// </summary> - public const string HeaterIr = " ir.water_heater"; + public const string HeaterIr = "ir.water_heater"; /// <summary> /// 绾㈠椋庢墖 /// </summary> @@ -1788,6 +2415,10 @@ /// 鏅鸿兘绌哄紑 /// </summary> public const string AirSwitch = "electrical.breaker"; + /// <summary> + /// 涓夌浉鏅鸿兘绌哄紑 + /// </summary> + public const string AirSwitchP3 = "electrical.breakerP3"; #region 娑傞甫 /// <summary> @@ -1841,6 +2472,7 @@ spkList.Add(ElectricTuyaWaterValve); spkList.Add(ElectricTuyaWaterValve2); spkList.Add(AirSwitch); + spkList.Add(ElectricalTvHisense); return spkList; } @@ -1869,7 +2501,7 @@ /// <summary> /// HDL鍙瀵硅 /// </summary> - public const string doorgate="door.gate"; + public const string doorgate = "door.gate"; #endregion #region 绗笁鏂箂pk鍒楄〃 -- Gitblit v1.8.0