From a9d1161b1df96e7ddad566335989a1444e433ef5 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 28 三月 2023 11:54:45 +0800 Subject: [PATCH] 2023年03月28日11:52:02 --- HDL_ON/Entity/Function/Function.cs | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 216 insertions(+), 7 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 747df45..3252d44 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -109,13 +109,13 @@ /// </summary> /// <param name="key"></param> /// <returns></returns> - public string GetAttrState(string key) + public string GetAttrState(string key , string defaultValue = "0") { //涓�绾ф煡璇eyValue鍊� var attrState = attributes.Find((s) => s.key == key.ToString()); if (attrState == null) { - return "0"; + return defaultValue; } if (string.IsNullOrEmpty(attrState.state)) { @@ -243,12 +243,39 @@ /// <summary> /// 澶囨敞 /// </summary> - public string name; + public string name = ""; + /// <summary> + /// 璁惧缁戝畾鐨刪omeId + /// </summary> + private string _homeId = ""; + public string homeId + { + get + { + if (string.IsNullOrEmpty(_homeId)) + { + return DB_ResidenceData.Instance.CurrentRegion.id; + } + else + { + return _homeId; + } + } + set + { + _homeId = value; + } + } + /// <summary> /// 璁惧ID /// 浜戠璐熻矗鐢熸垚 /// </summary> public string deviceId = "0"; + /// <summary> + /// 绗笁鏂硅澶囨墿灞昳d + /// </summary> + public string extDevId = string.Empty; /// <summary> /// 璁惧spk /// </summary> @@ -377,10 +404,22 @@ /// 鏄惁鏀惰棌 /// </summary> public bool collect = false; + + private bool _online = false; /// <summary> /// 鏄惁鍦ㄧ嚎 /// </summary> - public bool online = true; + public bool online + { + get + { + return true; + } + set + { + _online = value; + } + } /// <summary> /// 鐜闈㈡澘 缁戝畾鐨� 璁惧鐩爣sid鍒楄〃 @@ -395,7 +434,17 @@ /// </summary> public string modifyTime = ""; + /// <summary> + /// 鎵╁睍淇℃伅 + /// </summary> + public ExtSet extSet = new ExtSet(); + #endregion + + + //public void + + /// <summary> /// 寤舵椂 /// </summary> @@ -405,6 +454,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] @@ -668,6 +742,18 @@ var sFunc = new SceneFunction(); foreach (var attr in attributes) { + //绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝 + if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex) + { + if (attr.key == FunctionAttributeKey.OnOff) + { + if (attributes.Find((obj) => obj.key == FunctionAttributeKey.Percent) != null) + { + continue; + } + } + } + switch (attr.key) { case FunctionAttributeKey.OnOff: @@ -678,6 +764,8 @@ case FunctionAttributeKey.Percent: case FunctionAttributeKey.CCT: case FunctionAttributeKey.RGB: + case FunctionAttributeKey.Angle: + case "security": //case FunctionAttributeKey.FadeTime: if (attr.curValue.ToString() == "{}") { @@ -702,6 +790,10 @@ attr.curValue = "day"; } } + } + else if(attr.key == "security") + { + attr.curValue = "false"; } else { @@ -903,6 +995,11 @@ /// </summary> public List<string> value = new List<string>(); /// <summary> + /// 姝ヨ繘 + /// 绌鸿皟娓╁害鎺у埗 0.5 1 + /// </summary> + public string step = "1"; + /// <summary> /// 鏈�澶у�� /// </summary> public int max = 100; @@ -931,6 +1028,10 @@ { public const string _null = ""; /// <summary> + /// 瀹夐槻甯冮槻鐘舵�� + /// </summary> + public const string Security = "security"; + /// <summary> /// 寮�鍏� /// </summary> public const string OnOff = "on_off"; @@ -942,6 +1043,7 @@ /// 棰滆壊 /// </summary> public const string RGB = "rgb"; + public const string RGBW = "rgbw"; /// <summary> /// 娓愬彉鏃堕棿 /// </summary> @@ -1004,9 +1106,42 @@ /// </summary> public const string Percent = "percent"; /// <summary> + /// 瑙掑害 + /// </summary> + public const string Angle = "angle"; + /// <summary> /// 瀹ゅ唴娓╁害 /// </summary> public const string RoomTemp = "room_temp"; + /// <summary> + /// 瀹ゅ唴婀垮害 + /// </summary> + public const string RoomHumidity = "room_humidity"; + /// <summary> + /// 闇茬偣娓╁害 + /// </summary> + public const string dew_point_temp = "dew_point_temp"; + /// <summary> + /// 琛ㄩ潰娓╁害 + /// </summary> + public const string surface_temp = "surface_temp"; + /// <summary> + /// 瀹ゅ唴婀垮害琛ュ伩鍊� + /// </summary> + public const string room_humidity_cc = "room_humidity_cc"; + /// <summary> + /// 瀹ゅ唴娓╁害琛ュ伩鍊� + /// </summary> + public const string room_temp_cc = "room_temp_cc"; + /// <summary> + /// 姣涚粏闃�闂� + /// </summary> + public const string cac_valve = "cac_valve"; + /// <summary> + /// 鍦版殩闃�闂� + /// </summary> + public const string fh_valve = "fh_valve"; + /// <summary> /// value /// </summary> @@ -1038,6 +1173,16 @@ /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬� /// </summary> public const string ActionStatus = "action_state"; + /// <summary> + /// + /// </summary> + public const string PeopleNum = "people_num"; + public const string PeopleId = "people_id"; + /// <summary> + /// 姣背娉紶鎰熷櫒 浜虹墿鍔ㄤ綔 + /// </summary> + public const string TargetStatus = "target_status";//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔� + /// <summary> /// 鐢甸噺鐘舵�� /// </summary> @@ -1102,6 +1247,7 @@ /// 鎵撳紑绛夌骇(椋庢墖) /// </summary> public const string OpenLevel = "openLevel"; + public const string fan_speed_percent = "fan_speed_percent"; /// <summary> /// 绾㈠鎸夐敭 /// </summary> @@ -1202,6 +1348,29 @@ public static class SPK { /// <summary> + /// 閫氱敤寮�鍏� + /// </summary> + public const string OtherCommon = "other.common"; + /// <summary> + /// 澶у崕鎽勫儚澶� + /// </summary> + public const string IpCam_Imou = "security.ipcam.imou"; + /// <summary> + /// 鏈烘鎵� + /// </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 DoorLock = "security.door"; @@ -1215,6 +1384,7 @@ list.Add(DoorLock); return list; } + #region 鐏厜 @@ -1384,6 +1554,14 @@ #region 鑳芥簮 /// <summary> + /// 閫嗗彉鍣� + /// </summary> + public const string Inverter = "energy.inverter"; + /// <summary> + /// 涓夌浉閫嗗彉鍣� + /// </summary> + public const string InverterRst = "energy.inverter_rst"; + /// <summary> /// 鑳芥簮妯″潡 /// </summary> public const string EnergyStandard = "energy.standard"; @@ -1477,6 +1655,10 @@ public const string SenesorMegahealth = "sensor.megahealth"; public const string SenesorMegahealth2 = "sensor.megahealth.zg"; /// <summary> + /// 姣背娉紶鎰熷櫒锛堝Э鎬佺増锛� + /// </summary> + public const string SensorMmvPose = "sensor.mmv_pose"; + /// <summary> /// 绱ф�ュ懠鍙� /// </summary> public const string SensorHelp = "sensor.help"; @@ -1489,6 +1671,7 @@ var spkList = new List<string>(); //spkList.Add(SensorLight); spkList.Add(SensorPir); + spkList.Add(SensorHelp); spkList.Add(SensorDoorWindow); spkList.Add(SensorSmoke); spkList.Add(SensorWater); @@ -1500,6 +1683,7 @@ spkList.Add(SensorDryContact2); spkList.Add(SenesorMegahealth); spkList.Add(SenesorMegahealth2); + spkList.Add(SensorMmvPose); return spkList; } #endregion @@ -1518,6 +1702,10 @@ } #region 鐜浼犳劅鍣� + /// <summary> + /// 锛圥M10浼犳劅鍣級 + /// </summary> + public const string SensorPm10 = "sensor.pm10"; /// <summary> /// 锛堟俯搴︿紶鎰熷櫒锛� /// </summary> @@ -1567,11 +1755,12 @@ { var spkList = new List<string>(); spkList.Add(SensorTemperature); + spkList.Add(SensorPm10); spkList.Add(SensorPm25); 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); @@ -1585,6 +1774,7 @@ { var spkList = new List<string>(); spkList.Add(SensorTemperature); + spkList.Add(SensorPm10); spkList.Add(SensorPm25); spkList.Add(SensorCO2); spkList.Add(SensorTVOC); @@ -1600,7 +1790,7 @@ 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; @@ -1748,6 +1938,13 @@ } #endregion + #region 鍙瀵硅 + /// <summary> + /// HDL鍙瀵硅 + /// </summary> + public const string doorgate="door.gate"; + #endregion + #region 绗笁鏂箂pk鍒楄〃 /// <summary> /// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk @@ -1764,6 +1961,7 @@ spkList.Add(ElectricTuyaWaterValve2); spkList.Add(ElectricTuyaWeepRobot); spkList.Add(ElectricTuyaWeepRobot2); + spkList.Add(SensorMmvPose); spkList.Add(SenesorMegahealth); spkList.Add(SenesorMegahealth2); return spkList; @@ -1789,7 +1987,7 @@ list.Add(ElectricTuyaWeepRobot2); break; case BrandType.All3tyBrand: - list.Add(SenesorMegahealth);//鍏嗚 + list.Add(SenesorMegahealth2);//鍏嗚 break; } return list; @@ -1921,4 +2119,15 @@ /// </summary> public string desc = string.Empty; } + + /// <summary> + /// 鎵╁睍淇℃伅璁剧疆 + /// </summary> + public class ExtSet + { + /// <summary> + /// 鏄惁寮�鍚疄楠屽妯″紡 + /// </summary> + public bool labModel = false; + } } -- Gitblit v1.8.0