From d72ca686a3e262693f8a6e45e747e8e8da43335b Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 06 七月 2021 09:39:03 +0800 Subject: [PATCH] 2021-07-06 1.更新 --- HDL_ON/Entity/Function/Function.cs | 436 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 381 insertions(+), 55 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 2eca3c6..a6beab4 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -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,7 +124,7 @@ /// <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); @@ -118,13 +134,42 @@ } 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 @@ -263,7 +308,6 @@ public void CollectFunction() { var result = ""; - //var waitPage = new Loading(); new System.Threading.Thread(() => { @@ -282,6 +326,12 @@ { collect = !collect; IMessageCommon.Current.ShowErrorInfoAlter(result); + }); + }else + { + Application.RunOnMainThread(() => + { + UI.HomePage.RefreshFunctionView(); }); } }) @@ -492,9 +542,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 +552,7 @@ aca.value = dic.Value; acd.status.Add(aca); } - sendDataObj.objects.Add(acd); - return sendDataObj; } /// <summary> @@ -672,13 +718,41 @@ /// </summary> public const string Mode = "mode"; /// <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 +768,7 @@ /// <summary> /// 瀹ゅ唴娓╁害 /// </summary> - public const string IndoorTemp = "room_temp"; + public const string RoomTemp = "room_temp"; /// <summary> /// value /// </summary> @@ -763,9 +837,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> @@ -815,7 +919,13 @@ { get { - return Convert.ToByte(loopId, 16); + try + { + return Convert.ToByte(loopId, 16); + }catch + { + return 0; + } } } @@ -824,6 +934,8 @@ public static class SPK { + + #region 鐏厜 /// <summary> /// 锛堝紑鍏崇伅锛� /// </summary> @@ -844,6 +956,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 +990,186 @@ /// 锛堝嵎甯橈級 /// </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> + /// 鑳芥簮spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> EnergySpkList() + { + var spkList = new List<string>(); + spkList.Add(EnergyStandard); + 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> + /// 瀹夐槻浼犳劅鍣╯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); + return spkList; + } + #endregion + + #region 鐜浼犳劅鍣� /// <summary> /// 锛堟俯搴︿紶鎰熷櫒锛� /// </summary> @@ -902,42 +1192,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 +1218,23 @@ /// </summary> public const string ElectricTV = "electrical.tv"; /// <summary> + /// 绾㈠銆佺數瑙� + /// </summary> + public const string TvIr = "ir.tv"; + /// <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"; + + #region 娑傞甫 /// <summary> /// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒 /// </summary> @@ -957,7 +1242,7 @@ /// <summary> /// 瀹剁數銆佹秱楦︾數椋庢墖 /// </summary> - public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; + public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz"; /// <summary> /// 瀹剁數銆佹秱楦︽壂鍦版満鍣ㄤ汉 /// </summary> @@ -966,18 +1251,49 @@ /// 瀹剁數銆佹秱楦︽按闃� /// </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(ElectricFan); + spkList.Add(ClothesHanger); + spkList.Add(IrLearn); + 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 /// <summary> @@ -1000,6 +1316,7 @@ } return list; } + /// <summary> /// 绗笁鏂瑰搧鐗屽垪琛� @@ -1059,11 +1376,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