From 068c68295cad1967f7aafb4e5e951260ef03d4ce Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 09 七月 2021 09:16:43 +0800 Subject: [PATCH] 状态属性更改,不要轻易合并 --- HDL_ON/Entity/Function/Function.cs | 159 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 131 insertions(+), 28 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index db891e9..d918442 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -1,4 +1,4 @@ -锘縰sing System; +using System; using System.Collections.Generic; using HDL_ON.Common; using HDL_ON.DAL.Server; @@ -134,7 +134,6 @@ else { attr.state = value.ToString(); - attr.curValue = value.ToString(); } return true; } @@ -271,16 +270,21 @@ max = 1, min = 0, }; - _trait_on_off.curValue = "off"; + _trait_on_off.state = "off"; } } - if(_trait_on_off.curValue.ToString() != "on"&& _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop") + if(_trait_on_off.state.ToString() != "on"&& _trait_on_off.state.ToString() != "off" && _trait_on_off.state.ToString() != "stop") { - _trait_on_off.curValue = "off"; + _trait_on_off.state = "off"; } return _trait_on_off; } } + /// <summary> + /// 鍔熻兘鐨勫睘鎬х姸鎬佸垪琛� + /// </summary> + public List<AttributesStatus> status = new List<AttributesStatus>(); + /// <summary> /// 浣跨敤娆℃暟 @@ -422,6 +426,19 @@ var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); FileUtlis.Files.WriteFileByBytes(savePath, ssd); } + + /// <summary> + /// 閫氳繃鐘舵�佸垪琛ㄧ粍瑁呭睘鎬ч噷闈㈢殑鐘舵�� + /// </summary> + public void AssembleStatus() + { + foreach(var sta in status) + { + SetAttrState(sta.key, sta.value); + } + } + + /// <summary> /// 淇濆瓨鎴块棿缁戝畾淇℃伅 /// </summary> @@ -501,26 +518,48 @@ case FunctionAttributeKey.FanSpeed: case FunctionAttributeKey.Percent: //case FunctionAttributeKey.FadeTime: - if (attr.curValue.ToString() == "{}") + if (attr.state.ToString() == "{}") { if (attr.key == FunctionAttributeKey.OnOff) { - attr.curValue = "off"; + attr.state = "off"; } - else + else if (attr.key == FunctionAttributeKey.Mode ) { - attr.curValue = "0"; + if (DB_ResidenceData.Instance.GatewayType == 0) + { + attr.state = "0"; + } + else + { + if (SPK.AcSpkList().Contains(spk)) + { + attr.state = "cool"; + } + else if (SPK.FhSpkList().Contains(spk)) + { + attr.state = "day"; + } + } + } + else + { + attr.state = "0"; } } if (attr.key == FunctionAttributeKey.SetTemp) { double vv = 16; - Double.TryParse(attr.curValue.ToString(), out vv); + Double.TryParse(attr.state.ToString(), out vv); + if (vv == 0) + { + vv = 26; + } sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() }); } else { - sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString() }); + sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.state.ToString() }); } break; } @@ -638,7 +677,7 @@ public List<AttributesStatus> status = new List<AttributesStatus>(); } /// <summary> - /// a鍗忚鎺у埗鍔ㄤ綔鏁版嵁 + /// 鍔熻兘灞炴�х姸鎬� /// </summary> public class AttributesStatus { @@ -653,6 +692,20 @@ /// </summary> public string value = ""; } + + public class attttttt + { + /// <summary> + /// 褰撳墠鐘舵�� + /// </summary> + public string state = ""; + /// <summary> + /// 褰撳墠鍊� + /// </summary> + public object curValue = new object(); + + } + /// <summary> /// 鍔熻兘灞炴�� @@ -685,11 +738,8 @@ /// 褰撳墠鐘舵�� /// </summary> public string state = ""; - /// <summary> - /// 褰撳墠鍊� - /// </summary> - public object curValue = new object(); } + /// <summary> /// 鍔熻兘灞炴�ч敭鍚嶅垪琛� /// </summary> @@ -716,6 +766,10 @@ /// 妯″紡 /// </summary> public const string Mode = "mode"; + /// <summary> + /// 鎵 + /// </summary> + public const string Swing = "swing"; /// <summary> /// 宸ヤ綔妯″紡 /// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎 @@ -747,6 +801,7 @@ /// 绌鸿皟銆佸湴鐑�//app鑷姞 /// </summary> public const string TempType = "temperature_type"; + /// <summary> /// 鏃堕棿鏍囪 /// 鍦扮儹//app鑷姞 @@ -776,6 +831,10 @@ /// 鐘舵��,浼犳劅鍣� /// </summary> public const string Status = "status"; + /// <summary> + /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬� + /// </summary> + public const string ActionStatus = "action_state"; /// <summary> /// 鐢甸噺鐘舵�� /// </summary> @@ -853,6 +912,10 @@ /// 婀垮害 /// </summary> public const string Humidity = "humidity"; + /// <summary> + /// 娓╁害 + /// </summary> + public const string Temperature = "temperature"; /// <summary> /// 瀹ゅ唴娓╁害 /// </summary> @@ -941,6 +1004,8 @@ public static class SPK { + + #region 鐏厜 /// <summary> @@ -1154,7 +1219,7 @@ /// <summary> /// 瓒呭0娉紶鎰熷櫒 /// </summary> - public const string SensoruUtrasonic = "sensor.ultrasonic"; + public const string SensorUtrasonic = "sensor.ultrasonic"; /// <summary> /// 锛堝共鎺ョ偣锛� /// </summary> @@ -1163,8 +1228,6 @@ /// 姣背娉紶鎰熷櫒 /// </summary> public const string SenesorMegahealth = "sensor.megahealth"; - - /// <summary> /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃 /// </summary> @@ -1172,16 +1235,16 @@ public static List<string> ArmSensorSpkList() { var spkList = new List<string>(); - spkList.Add(SensorLight); + //spkList.Add(SensorLight); spkList.Add(SensorPir); spkList.Add(SensorDoorWindow); spkList.Add(SensorSmoke); spkList.Add(SensorWater); - spkList.Add(SensorGas); - spkList.Add(SensorShanLan); - spkList.Add(SensorDuiShe); - spkList.Add(SensoruUtrasonic); - spkList.Add(SensorDryContact); + //spkList.Add(SensorGas); + //spkList.Add(SensorShanLan); + //spkList.Add(SensorDuiShe); + //spkList.Add(SensoruUtrasonic); + //spkList.Add(SensorDryContact); spkList.Add(SenesorMegahealth); return spkList; } @@ -1208,6 +1271,13 @@ /// 婀垮害浼犳劅鍣� /// </summary> public const string SensorHumidity = "sensor.humidity"; + /// <summary> + /// 鐜浼犳劅鍣� + /// 鐜妫�娴嬩紶鎰熷櫒 + /// 鐗规畩绫籹pk + /// 璇pk鍔熻兘鏄幆澧冧紶鎰熷櫒鍔熻兘鐨勯泦鎴� + /// </summary> + public const string SensorEnvironment = "sensor.environment"; /// <summary> /// 鐜浼犳劅鍣╯pk鍒楄〃 @@ -1221,6 +1291,7 @@ spkList.Add(SensorCO2); spkList.Add(SensorTVOC); spkList.Add(SensorHumidity); + spkList.Add(SensorEnvironment); return spkList; } #endregion @@ -1239,6 +1310,10 @@ /// 绾㈠銆佺數瑙� /// </summary> public const string TvIr = "ir.tv"; + /// <summary> + /// 绾㈠銆佸皬绫崇數瑙� + /// </summary> + public const string TvXmIr = "ir.tvxm"; /// <summary> /// 瀹剁數銆侀鎵� /// </summary> @@ -1306,7 +1381,9 @@ spkList.Add(ElectricSocket); spkList.Add(ElectricTV); spkList.Add(TvIr); + spkList.Add(TvXmIr); spkList.Add(ElectricFan); + spkList.Add(FanIr); spkList.Add(ClothesHanger); spkList.Add(IrLearn); spkList.Add(PjtIr); @@ -1320,7 +1397,6 @@ #endregion - #region 璁惧绫� /// <summary> @@ -1340,7 +1416,21 @@ } #endregion - + #region 绗笁鏂箂pk鍒楄〃 + /// <summary> + /// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk + /// </summary> + /// <returns></returns> + public static List<string> GetAll3tySPK() + { + var spkList = new List<string>(); + spkList.Add(ElectricTuyaAirCleaner); + spkList.Add(ElectricTuyaFan); + spkList.Add(ElectricTuyaWaterValve); + spkList.Add(ElectricTuyaWeepRobot); + spkList.Add(SenesorMegahealth); + return spkList; + } /// <summary> /// 鑾峰彇绗笁鏂硅澶噑pk /// </summary> @@ -1351,17 +1441,26 @@ switch (brandType) { - case BrandType.All3tyBrand: case BrandType.Tuya: list.Add(ElectricTuyaAirCleaner); list.Add(ElectricTuyaFan); list.Add(ElectricTuyaWaterValve); list.Add(ElectricTuyaWeepRobot); break; + case BrandType.All3tyBrand: + list.Add(SenesorMegahealth);//鍏嗚 + break; } return list; } + #endregion + /// <summary> + /// 娌℃湁鐘舵�佹樉绀虹殑鍔熻兘spk鍒楄〃 + /// </summary> + public static List<string> NotStatusSpkList = new List<string> { + ElectricTV, FanIr, TvIr, TvXmIr, StbIr, PjtIr, IrLearn + }; /// <summary> /// 绗笁鏂瑰搧鐗屽垪琛� @@ -1371,6 +1470,10 @@ All = 0, Hdl = 1, Tuya = 2, + /// <summary> + /// 鍏嗚 + /// </summary> + Megahealth = 3, All3tyBrand = 999, -- Gitblit v1.8.0