From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/Entity/Function/Function.cs | 527 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 467 insertions(+), 60 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 2eca3c6..91adfe7 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; @@ -65,6 +65,22 @@ #region 浼樺寲鍖哄煙 2021-02-25 /// <summary> + /// 鏇存柊鐨勬渶鍚庢椂闂� + /// </summary> + public string time_stamp = "1615261019796"; + + public string GeteTime() + { + try + { + DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return startTime.AddMilliseconds(Convert.ToDouble(time_stamp)).ToString("s"); + } + catch { + return DateTime.MinValue.ToString("s"); + } + } + /// <summary> /// 鑾峰彇灞炴�у垪琛� /// </summary> /// <returns></returns> @@ -79,7 +95,7 @@ return attrs; } /// <summary> - /// 鑾峰彇鍒跺畾灞炴�� + /// 鑾峰彇鎸囧畾灞炴�� /// </summary> /// <returns></returns> public FunctionAttributes GetAttribute(string key) @@ -96,7 +112,7 @@ public string GetAttrState(string key) { var attrState = attributes.Find((s) => s.key == key.ToString()); - if(attrState == null) + if (attrState == null || string.IsNullOrEmpty(attrState.state)) { return "0"; } @@ -108,9 +124,8 @@ /// <param name="key"></param> /// <param name="value"></param> /// <returns>淇敼缁撴灉</returns> - public bool SetAttrState(string key, string value) + public bool SetAttrState(string key, object value) { - //var attrState = status.Find((s) => s.key == key.ToString()); var attr = attributes.Find((s) => s.key == key); if (attr == null) { @@ -118,17 +133,46 @@ } else { - attr.state = value; + attr.state = value.ToString(); + attr.curValue = value.ToString(); } return true; } + /// <summary> + /// icon鏂囦欢鍚嶇О + /// </summary> + public string IconName + { + get + { + return spk.Replace(".",""); + } + } + /// <summary> + /// 鐗堟湰鏁版嵁鍒楄〃 + /// </summary> + public List<VersionInfo> versions = new List<VersionInfo>(); + + /// <summary> + /// 涓婁竴娆℃墦寮�鐨勪寒搴� + /// 鐏厜绉佹湁灞炴�� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int lastBrightness = 100; + + /// <summary> + /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴� + /// 鍦扮儹绉佹湁灞炴�� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public Dictionary<string, byte> Fh_Mode_Temp = new Dictionary<string, byte>(); #endregion - #region base info + #region base info public string sid = "0301011234567801012301230123"; /// <summary> /// 澶囨敞 @@ -263,7 +307,6 @@ public void CollectFunction() { var result = ""; - //var waitPage = new Loading(); new System.Threading.Thread(() => { @@ -282,6 +325,12 @@ { collect = !collect; IMessageCommon.Current.ShowErrorInfoAlter(result); + }); + }else + { + Application.RunOnMainThread(() => + { + UI.HomePage.RefreshFunctionView(); }); } }) @@ -492,9 +541,7 @@ { var sendDataObj = new AlinkFunctionStatusObj(); sendDataObj.id = Control.Ins.msg_id.ToString(); - sendDataObj.time_stamp = Control.Ins.Get_TimeStamp(); - - + sendDataObj.time_stamp = Utlis.GetTimestamp(); var acd = new AlinkStatusData(); acd.sid = sid; foreach (var dic in commandDictionary) @@ -504,9 +551,7 @@ aca.value = dic.Value; acd.status.Add(aca); } - sendDataObj.objects.Add(acd); - return sendDataObj; } /// <summary> @@ -672,13 +717,45 @@ /// </summary> public const string Mode = "mode"; /// <summary> + /// 鎵 + /// </summary> + public const string Swing = "swing"; + /// <summary> + /// 宸ヤ綔妯″紡 + /// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎 + /// </summary> + public const string WorkMode = "mode_work"; + /// <summary> /// 椋庨�� /// </summary> public const string FanSpeed = "fan"; /// <summary> + /// 鎵嬪姩椋庡悜 + /// </summary> + public const string FanManual = "fan_manual"; + /// <summary> + /// 鑷姩椋庡悜 + /// </summary> + public const string FanAuto = "fan_auto"; + + /// <summary> /// 璁剧疆娓╁害 /// </summary> public const string SetTemp = "set_temp"; + /// <summary> + /// 娓╁害鍔犲噺 + /// </summary> + public const string SetTempStep = "set_temp_step"; + /// <summary> + /// 娓╁害妯″紡 + /// 绌鸿皟銆佸湴鐑�//app鑷姞 + /// </summary> + public const string TempType = "temperature_type"; + /// <summary> + /// 鏃堕棿鏍囪 + /// 鍦扮儹//app鑷姞 + /// </summary> + public const string TimeFlag = "time_flag"; /// <summary> /// 寤舵椂 /// </summary> @@ -694,7 +771,7 @@ /// <summary> /// 瀹ゅ唴娓╁害 /// </summary> - public const string IndoorTemp = "room_temp"; + public const string RoomTemp = "room_temp"; /// <summary> /// value /// </summary> @@ -703,6 +780,10 @@ /// 鐘舵��,浼犳劅鍣� /// </summary> public const string Status = "status"; + /// <summary> + /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬� + /// </summary> + public const string ActionStatus = "action_state"; /// <summary> /// 鐢甸噺鐘舵�� /// </summary> @@ -763,9 +844,39 @@ /// 璐熺瀛愬墿浣欐椂闂� /// </summary> public const string AnionTimeLeft = "anion_time_surplus"; + /// <summary> + /// 鎵撳紑绛夌骇(椋庢墖) + /// </summary> + public const string OpenLevel = "openLevel"; + /// <summary> + /// 绾㈠鎸夐敭 + /// </summary> + public const string Key = "key"; - - + /// <summary> + /// 鑺傝兘 + /// </summary> + public const string Energy = "energy"; + /// <summary> + /// 婀垮害 + /// </summary> + public const string Humidity = "humidity"; + /// <summary> + /// 瀹ゅ唴娓╁害 + /// </summary> + public const string IndoorTemp = "indoor_temp"; + /// <summary> + /// 瀹ゅ唴婀垮害 + /// </summary> + public const string IndoorHumidity = "indoor_humidity"; + /// <summary> + /// 杩囨护缃戝墿浣欓噺 + /// </summary> + public const string FilterRemain = "filter_remain"; + /// <summary> + /// 杩囨护缃戞槸鍚﹁秴鏃惰鍛� + /// </summary> + public const string FilterTimeout = "filter_timeout"; #region tuya /// <summary> @@ -773,6 +884,14 @@ /// </summary> public const string TuyaWaterTime = "countdown_1"; #endregion + /// <summary> + /// 鍔熺巼 + /// </summary> + public const string Power = "power"; + /// <summary> + /// 鎬荤數閲� + /// </summary> + public const string TotalElectricity = "total_electricity"; } @@ -815,7 +934,13 @@ { get { - return Convert.ToByte(loopId, 16); + try + { + return Convert.ToByte(loopId, 16); + }catch + { + return 0; + } } } @@ -824,6 +949,10 @@ public static class SPK { + + + + #region 鐏厜 /// <summary> /// 锛堝紑鍏崇伅锛� /// </summary> @@ -844,6 +973,24 @@ /// 锛圕CT鐏級 /// </summary> public const string LightCCT = "light.cct"; + + /// <summary> + /// 鐏厜spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> LightSpkList() + { + var spkList = new List<string>(); + spkList.Add(LightCCT); + spkList.Add(LightDimming); + spkList.Add(LightRGB); + spkList.Add(LightRGBW); + spkList.Add(LightSwitch); + return spkList; + } + #endregion + + #region 绐楀笜 /// <summary> /// 锛堝紑鍏崇獥甯橈級 /// </summary> @@ -860,26 +1007,196 @@ /// 锛堝嵎甯橈級 /// </summary> public const string CurtainRoller = "curtain.roller"; + + /// <summary> + /// 绐楀笜spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> CurtainSpkList() + { + var spkList = new List<string>(); + spkList.Add(CurtainRoller); + spkList.Add(CurtainSwitch); + spkList.Add(CurtainShades); + spkList.Add(CurtainTrietex); + return spkList; + } + #endregion + + #region 绌鸿皟 /// <summary> /// 锛堢┖璋冿級 /// </summary> public const string AcStandard = "ac.standard"; /// <summary> + /// 锛堢孩澶栫┖璋冿級 + /// </summary> + public const string AcIr= "ir.ac"; + + /// <summary> + /// 绌鸿皟spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> AcSpkList() + { + var spkList = new List<string>(); + spkList.Add(AcStandard); + spkList.Add(AcIr); + return spkList; + } + #endregion + + #region 鍦扮儹 + /// <summary> /// 锛堝湴鐑級 /// </summary> public const string FloorHeatStandard = "floorHeat.standard"; + + /// <summary> + /// 鍦扮儹spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> FhSpkList() + { + var spkList = new List<string>(); + spkList.Add(FloorHeatStandard); + return spkList; + } + #endregion + + #region 鏂伴 /// <summary> /// 锛堟柊椋庯級 /// </summary> public const string AirFreshStandard = "airFresh.standard"; /// <summary> + /// 鏂伴 鈥斺�旈噾鑼傚畾鍒� + /// </summary> + public const string AirFreshJinmao = "airFresh.jinmao"; + + /// <summary> + /// 鏂伴spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> AirFreshSpkList() + { + var spkList = new List<string>(); + spkList.Add(AirFreshStandard); + spkList.Add(AirFreshJinmao); + return spkList; + } + #endregion + + #region 鑳芥簮 + /// <summary> + /// 鑳芥簮妯″潡 + /// </summary> + public const string EnergyStandard = "energy.standard"; + + /// <summary> + /// 鑳芥簮-鐢佃兘 + /// </summary> + public const string ElectricEnergy = "energy.electric"; + /// <summary> + /// 鑳芥簮spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> EnergySpkList() + { + var spkList = new List<string>(); + spkList.Add(ElectricEnergy); + return spkList; + } + #endregion + + #region 闊充箰 + /// <summary> /// 锛堥煶涔愶級 /// </summary> public const string MusicStandard = "music.standard"; + + /// <summary> + /// 闊充箰spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> MusicSpkList() + { + var spkList = new List<string>(); + spkList.Add(MusicStandard); + return spkList; + } + #endregion + + #region 浼犳劅鍣� + #region 瀹夐槻浼犳劅鍣� /// <summary> /// 锛堜寒搴︿紶鎰熷櫒锛� /// </summary> public const string SensorLight = "sensor.light"; + /// <summary> + /// (绾㈠绉诲姩浼犳劅鍣�) + /// </summary> + public const string SensorPir = "sensor.pir"; + /// <summary> + /// 锛堥棬绐椾紶鎰熷櫒锛� + /// </summary> + public const string SensorDoorWindow = "sensor.doorwindow"; + /// <summary> + /// 鐑熼浘浼犳劅鍣� + /// </summary> + public const string SensorSmoke = "sensor.smoke"; + /// <summary> + /// 姘存蹈浼犳劅鍣� + /// </summary> + public const string SensorWater = "sensor.water"; + /// <summary> + /// 鐕冩皵浼犳劅鍣� + /// </summary> + public const string SensorGas = "sensor.gas"; + /// <summary> + /// 绾㈠鐝婃爮浼犳劅鍣� + /// </summary> + public const string SensorShanLan = "sensor.shanlan"; + /// <summary> + /// 绾㈠瀵瑰皠浼犳劅鍣� + /// </summary> + public const string SensorDuiShe = "sensor.duishe"; + /// <summary> + /// 瓒呭0娉紶鎰熷櫒 + /// </summary> + public const string SensoruUtrasonic = "sensor.ultrasonic"; + /// <summary> + /// 锛堝共鎺ョ偣锛� + /// </summary> + public const string SensorDryContact = "sensor.dryContact"; + /// <summary> + /// 姣背娉紶鎰熷櫒 + /// </summary> + public const string SenesorMegahealth = "sensor.megahealth"; + + /// <summary> + /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> ArmSensorSpkList() + { + var spkList = new List<string>(); + //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(SenesorMegahealth); + return spkList; + } + #endregion + + #region 鐜浼犳劅鍣� /// <summary> /// 锛堟俯搴︿紶鎰熷櫒锛� /// </summary> @@ -902,42 +1219,23 @@ public const string SensorHumidity = "sensor.humidity"; /// <summary> - /// (绾㈠绉诲姩浼犳劅鍣�) + /// 鐜浼犳劅鍣╯pk鍒楄〃 /// </summary> - public const string SensorPir = "sensor.pir"; - /// <summary> - /// 锛堥棬绐椾紶鎰熷櫒锛� - /// </summary> - public const string SensorDoorWindow = "sensor.doorwindow"; - /// <summary> - /// 鐑熼浘浼犳劅鍣� - /// </summary> - public const string SensorSmoke = "sensor.smoke"; - /// <summary> - /// 姘存蹈浼犳劅鍣� - /// </summary> - public const string SensorWater = "sensor.water"; - /// <summary> - /// 鐕冩皵浼犳劅鍣� - /// </summary> - public const string SensorGas= "sensor.gas"; - /// <summary> - /// 绾㈠鐝婃爮浼犳劅鍣� - /// </summary> - public const string SensorShanLan = "sensor.shanlan"; - /// <summary> - /// 绾㈠瀵瑰皠浼犳劅鍣� - /// </summary> - public const string SensorDuiShe = "sensor.duishe"; - /// <summary> - /// 瓒呭0娉紶鎰熷櫒 - /// </summary> - public const string SensoruUtrasonic = "sensor.ultrasonic"; + /// <returns></returns> + public static List<string> EnvironSpkList() + { + var spkList = new List<string>(); + spkList.Add(SensorTemperature); + spkList.Add(SensorPm25); + spkList.Add(SensorCO2); + spkList.Add(SensorTVOC); + spkList.Add(SensorHumidity); + return spkList; + } + #endregion + #endregion - /// <summary> - /// 锛堝共鎺ョ偣锛� - /// </summary> - public const string SensorDryContact = "sensor.dryContact"; + #region 瀹剁數 /// <summary> /// 瀹剁數銆佹彃搴� /// </summary> @@ -947,9 +1245,51 @@ /// </summary> public const string ElectricTV = "electrical.tv"; /// <summary> + /// 绾㈠銆佺數瑙� + /// </summary> + public const string TvIr = "ir.tv"; + /// <summary> + /// 绾㈠銆佸皬绫崇數瑙� + /// </summary> + public const string TvXmIr = "ir.tvxm"; + /// <summary> /// 瀹剁數銆侀鎵� /// </summary> - public const string ElectricFan = "electrical.fan"; + public const string ElectricFan = "electrical.fan"; + /// <summary> + /// 鍑夐湼 + /// </summary> + public const string ClothesHanger = "electrical.racks"; + /// <summary> + /// 绾㈠閬ユ帶鍣� + /// </summary> + public const string IrLearn = "ir.learn"; + /// <summary> + /// 绾㈠鎶曞奖浠� + /// </summary> + public const string PjtIr = "ir.pjt"; + /// <summary> + /// 绾㈠鏈洪《鐩� + /// </summary> + public const string StbIr = "ir.stb"; + /// <summary> + /// 绾㈠褰辩鏈� + /// </summary> + public const string DvDIr = "ir.dvd"; + /// <summary> + /// 绾㈠绌烘皵鍑�鍖栧櫒 + /// </summary> + public const string PurifierIr = "ir.air_purifier"; + /// <summary> + /// 绾㈠鐑按鍣� + /// </summary> + public const string HeaterIr = " ir.water_heater"; + /// <summary> + /// 绾㈠椋庢墖 + /// </summary> + public const string FanIr = "ir.fan"; + + #region 娑傞甫 /// <summary> /// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒 /// </summary> @@ -957,7 +1297,7 @@ /// <summary> /// 瀹剁數銆佹秱楦︾數椋庢墖 /// </summary> - public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; + public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; /// <summary> /// 瀹剁數銆佹秱楦︽壂鍦版満鍣ㄤ汉 /// </summary> @@ -966,20 +1306,70 @@ /// 瀹剁數銆佹秱楦︽按闃� /// </summary> public const string ElectricTuyaWaterValve = "electrical.koiGhMKwLf2ZP81g"; + #endregion + + /// <summary> - /// 鍑夐湼 + /// 瀹剁數spk鍒楄〃 /// </summary> - public const string ClothesHanger = "electrical.racks"; + /// <returns></returns> + public static List<string> ElectricalSpkList() + { + var spkList = new List<string>(); + 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); + spkList.Add(StbIr); + spkList.Add(ElectricTuyaAirCleaner); + spkList.Add(ElectricTuyaFan); + spkList.Add(ElectricTuyaWeepRobot); + spkList.Add(ElectricTuyaWaterValve); + return spkList; + } + + + #endregion + + + #region 璁惧绫� /// <summary> /// 绾㈠瀹� /// </summary> public const string IrModule = "ir.module"; + /// <summary> - /// 绾㈠绌鸿皟 + /// 璁惧绫籹pk鍒楄〃 /// </summary> - public const string IrAC = "ir.ac"; + /// <returns></returns> + public static List<string> DeviceSpkList() + { + var spkList = new List<string>(); + spkList.Add(IrModule); + return spkList; + } + #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> @@ -990,16 +1380,20 @@ 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> /// 绗笁鏂瑰搧鐗屽垪琛� @@ -1009,6 +1403,10 @@ All = 0, Hdl = 1, Tuya = 2, + /// <summary> + /// 鍏嗚 + /// </summary> + Megahealth = 3, All3tyBrand = 999, @@ -1059,11 +1457,20 @@ /// 瀹剁數 /// </summary> public const string Electric = "electrical"; + /// <summary> + /// 绾㈠璁惧 + /// </summary> + public const string IR = "ir"; - //Music = 0x09, + } +public class VersionInfo +{ + public string module = ""; + public string version = ""; +} } -- Gitblit v1.8.0