From 4a83749337096aae6dd5ec4f44f16653fbc7268a Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 10 三月 2021 16:19:52 +0800 Subject: [PATCH] 2021-03-10 1.合并 --- HDL_ON/Entity/Function/Function.cs | 176 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 119 insertions(+), 57 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 35e790f..6bf5e6d 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) @@ -89,18 +105,18 @@ } /// <summary> - /// 鑾峰彇灞炴�х姸鎬� + /// 鑾峰彇灞炴�у綋鍓嶇姸鎬� /// </summary> /// <param name="key"></param> /// <returns></returns> public string GetAttrState(string key) { - var attrState = status.Find((s) => s.key == key.ToString()); - if(attrState == null) + var attrState = attributes.Find((s) => s.key == key.ToString()); + if (attrState == null || string.IsNullOrEmpty(attrState.state)) { - return ""; + return "0"; } - return attrState.value; + return attrState.state; } /// <summary> /// 璁剧疆灞炴�х姸鎬� @@ -108,46 +124,42 @@ /// <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()); - if (attrState == null) + //var attrState = status.Find((s) => s.key == key.ToString()); + var attr = attributes.Find((s) => s.key == key); + if (attr == null) { return false; } else { - attrState.value = value; + attr.state = value.ToString(); + attr.curValue = value.ToString(); } return true; } + + + + /// <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 - /// <summary> - /// HDL缁熶竴鍗忚鏍煎紡锛�14bytes - /// 涓句緥锛� 鏉ユ簮 鍘傚晢浠g爜 閫氳鏂瑰紡 浜у搧鏃堕棿鎴� 浜у搧绫诲埆 鐗╂ā鍨嬬被 閫氶亾鍙� 澶у皬绫诲埆 - /// 1byte 1byte 1byte 4byte 1byte 2byte 2byte 2byte - /// 鏉ユ簮锛�00 榛樿鍘熺敓鎬佺郴缁熸暟鎹� 銆�01 缃戝叧鎴栬�呭叾浠朅璁惧銆�02 璋冭瘯杞欢銆�03 APP搴旂敤绋嬪簭銆�04 绗笁鏂圭綉鍏虫垨鑰呭钩鍙� - /// 鍘傚晢浠g爜锛�01 HDL - /// 閫氳鏂瑰紡锛�01 HDL Bus銆�02 Zigbee銆�03 KNX銆�04 Z-Wave - /// 浜у搧鏃堕棿鎴筹細4bytes 浠�2020骞�1鏈�1鏃ョ畻鍑虹殑鏃堕棿鎴�0.1s涓哄崟浣� - /// 浜у搧绫诲埆锛�01 璋冨厜鍣ㄣ��02 缁х數鍣ㄣ��03 骞叉帴鐐规ā鍧椼��04 浼犳劅鍣ㄣ��05 闈㈡澘 - /// 鐗╂ā鍨嬬被鍨嬶細 - /// 01 寮�鍏崇被锛�01 寮�鍏炽��02 鎻掑骇銆�03 - /// 02 鐓ф槑锛� 01 寮�鍏炽��02 璋冨厜銆�03 鑹叉俯銆�04 LED - /// 03 閬槼锛� 01 绐楀笜鐢垫満銆�02 鐧惧彾绐椼��03 寮�鍚堝笜銆�04 鍗峰笜 - /// 04 鎭掓俯鍣細01 绌鸿皟銆�02 鍦版殩銆�03 姣涚粏绌鸿皟 - /// 05 鏂伴 - /// 06 褰遍煶 - /// 07 闊充箰 - /// 08 鑳芥簮 - /// 09 瀹夐槻 - /// 澶х被鍒� 1bytes 锛堥鐣欙級 - /// 灏忕被鍒� 1byte 锛堥鐣欙級 - /// </summary> 鈥�0001021599F98A04050300010000鈥� public string sid = "0301011234567801012301230123"; /// <summary> /// 澶囨敞 @@ -187,23 +199,6 @@ /// attri /// </summary> public List<FunctionAttributes> attributes = new List<FunctionAttributes>(); - /// <summary> - /// 鍔熻兘鐘舵�佸垪琛� - /// </summary> - public List<AttributesStatus> status = new List<AttributesStatus>(); - /// <summary> - /// 鑾峰彇鐘舵�佸�� - /// </summary> - /// <returns></returns> - public string GetStatusValus(string key) - { - var d = status.Find((obj) => obj.key == key); - if(d==null) - { - return null; - } - return d.value; - } /// <summary> /// 鎴块棿ID鍒楄〃 @@ -299,7 +294,6 @@ public void CollectFunction() { var result = ""; - //var waitPage = new Loading(); new System.Threading.Thread(() => { @@ -318,6 +312,12 @@ { collect = !collect; IMessageCommon.Current.ShowErrorInfoAlter(result); + }); + }else + { + Application.RunOnMainThread(() => + { + UI.HomePage.RefreshFunctionView(); }); } }) @@ -528,10 +528,10 @@ { 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 AlinkControlData(); + var acd = new AlinkStatusData(); acd.sid = sid; foreach (var dic in commandDictionary) { @@ -593,7 +593,7 @@ /// </summary> public class AlinkFunctionStatusObj { - public List<AlinkControlData> objects = new List<AlinkControlData>(); + public List<AlinkStatusData> objects = new List<AlinkStatusData>(); public string time_stamp = ""; public string id = ""; @@ -609,11 +609,23 @@ public string time_stamp = ""; } /// <summary> - /// A鍗忚鎺у埗鏁版嵁 + /// A鍗忚鐘舵�佹暟鎹� /// </summary> - public class AlinkControlData + public class AlinkStatusData { + /* + mqtt鎺ユ敹鐨勭姸鎬佹暟鎹病鏈塪eviceId + 鎺ュ彛鍙嶉鐨勬暟鎹湁 + */ + /// <summary> + /// + /// </summary> public string sid = ""; + /// <summary> + /// 璁惧ID + /// 浜戠璐熻矗鐢熸垚 + /// </summary> + public string deviceId = "0"; public List<AttributesStatus> status = new List<AttributesStatus>(); } /// <summary> @@ -661,6 +673,10 @@ /// </summary> public string data_type = ""; /// <summary> + /// 褰撳墠鐘舵�� + /// </summary> + public string state = ""; + /// <summary> /// 褰撳墠鍊� /// </summary> public object curValue = new object(); @@ -692,6 +708,11 @@ /// </summary> public const string Mode = "mode"; /// <summary> + /// 宸ヤ綔妯″紡 + /// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎 + /// </summary> + public const string WorkMode = "mode_work"; + /// <summary> /// 椋庨�� /// </summary> public const string FanSpeed = "fan"; @@ -699,6 +720,16 @@ /// 璁剧疆娓╁害 /// </summary> public const string SetTemp = "set_temp"; + /// <summary> + /// 娓╁害妯″紡 + /// 绌鸿皟銆佸湴鐑�//app鑷姞 + /// </summary> + public const string TempType = "temperature_type"; + /// <summary> + /// 鏃堕棿鏍囪 + /// 鍦扮儹//app鑷姞 + /// </summary> + public const string TimeFlag = "time_flag"; /// <summary> /// 寤舵椂 /// </summary> @@ -771,7 +802,22 @@ /// 娑堟瘨鍓╀綑鏃堕棿 /// </summary> public const string DisinfectTimeLeft = "disinfect_time_surplus"; - + /// <summary> + /// 璐熺瀛� + /// </summary> + public const string Anion = "anion"; + /// <summary> + /// 璐熺瀛愭椂闂� + /// </summary> + public const string AnionTime = "anion_time"; + /// <summary> + /// 璐熺瀛愬墿浣欐椂闂� + /// </summary> + public const string AnionTimeLeft = "anion_time_surplus"; + /// <summary> + /// 鎵撳紑鐧昏(椋庢墖) + /// </summary> + public const string OpenLevel = "openLevel"; #region tuya @@ -871,6 +917,10 @@ /// 锛堢┖璋冿級 /// </summary> public const string AcStandard = "ac.standard"; + /// <summary> + /// 锛堢孩澶栫┖璋冿級 + /// </summary> + public const string AcIr= "ir.ac"; /// <summary> /// 锛堝湴鐑級 /// </summary> @@ -977,6 +1027,14 @@ /// 鍑夐湼 /// </summary> public const string ClothesHanger = "electrical.racks"; + /// <summary> + /// 绾㈠瀹� + /// </summary> + public const string IrModule = "ir.module"; + /// <summary> + /// 绾㈠绌鸿皟 + /// </summary> + public const string IrAC = "ir.ac"; /// <summary> @@ -1058,8 +1116,12 @@ /// 瀹剁數 /// </summary> public const string Electric = "electrical"; + /// <summary> + /// 绾㈠璁惧 + /// </summary> + public const string IR = "ir"; - //Music = 0x09, + } -- Gitblit v1.8.0