From d78515ac4ac8cf4a1785d9df18058d6724f12b79 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 14 一月 2021 19:34:59 +0800 Subject: [PATCH] 合并xm2021-01-13 wjc2021-02-06 --- ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs | 246 +++++++++++++++++++++++++----------------------- 1 files changed, 128 insertions(+), 118 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs index a7c3225..7e236ae 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs @@ -169,20 +169,73 @@ { co2Quality = 0; } - - if (co2Quality == 1 && pmQuality == 1) + //浜у搧閮ㄨ姹傦紝鏆傛椂鍘绘帀Co2 + /*if (tempera.currentPmData == 0 && tempera.currentCO2 == 0) { - curQuality = 1; - } - else if (co2Quality == 2 || pmQuality == 2) - { - curQuality = 2; + curQuality = 0; } else { - curQuality = 3; + if (co2Quality == 1 && pmQuality == 1) + { + curQuality = 1; + } + else + { + if (co2Quality > 2 || pmQuality > 2) + { + curQuality = 3; + } + else + { + curQuality = 2; + } + } + }if (tempera.currentPmData == 0 && tempera.currentCO2 == 0) + { + curQuality = 0; } + else + { + if (co2Quality == 1 && pmQuality == 1) + { + curQuality = 1; + } + else + { + if (co2Quality > 2 || pmQuality > 2) + { + curQuality = 3; + } + else + { + curQuality = 2; + } + } + }*/ + if (tempera.currentPmData == 0) + { + curQuality = 0; + } + else + { + if (co2Quality == 1) + { + curQuality = 1; + } + else + { + if (co2Quality > 2) + { + curQuality = 3; + } + else + { + curQuality = 2; + } + } + } return curQuality; } @@ -201,38 +254,37 @@ return await System.Threading.Tasks.Task.Run(async () => { Action<string, string> action = (topic, message) => - { - var gatewayID = topic.Split('/')[0]; - var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); - - if (topic == gatewayID + "/" + "ZbDataPassthrough") - { - var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString()); - - if (clientDataPassthroughResponseData != null) - { - if (clientDataPassthroughResponseData?.PassData != null) - { - var data = clientDataPassthroughResponseData.PassData; - if (data.Length == 16) - { - var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); - if (command == "0002") - { - var tempD = new ResponseData(); - tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString(); - tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16); - if (tempD.command == "0412") - { - result = new ResponseAllData { responseData = tempD }; - System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0400_{ topic}"); - } - - } - } - } - } - } + { + var gatewayID = topic.Split('/')[0]; + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + + if (topic == gatewayID + "/" + "ZbDataPassthrough") + { + var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString()); + + if (clientDataPassthroughResponseData != null) + { + if (clientDataPassthroughResponseData?.PassData != null) + { + var data = clientDataPassthroughResponseData.PassData; + if (data.Length == 16) + { + var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); + if (command == "0002") + { + var tempD = new ResponseData(); + tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString(); + tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16); + if (tempD.command == "0412") + { + result = new ResponseAllData { responseData = tempD }; + System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0400_{ topic}"); + } + } + } + } + } + } }; Gateway.Actions += action; @@ -380,48 +432,6 @@ return result; } - private string HexStringToString(string hs) - { - //浠�%鍒嗗壊瀛楃涓诧紝骞跺幓鎺夌┖瀛楃 - string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries); - byte[] b = new byte[chars.Length]; - //閫愪釜瀛楃鍙樹负16杩涘埗瀛楄妭鏁版嵁 - for (int i = 0; i < chars.Length; i++) - { - b[i] = Convert.ToByte(chars[i], 16); - } - //鎸夌収鎸囧畾缂栫爜灏嗗瓧鑺傛暟缁勫彉涓哄瓧绗︿覆 - return System.Text.Encoding.UTF8.GetString(b); - } - - private string StringToHexString1(string s) - { - var bytes = new byte[36]; - var reamarkGwBytes = System.Text.Encoding.UTF8.GetBytes(s); - System.Array.Copy(reamarkGwBytes, 0, bytes, 0, 36 < reamarkGwBytes.Length ? 36 : reamarkGwBytes.Length); - string result = string.Empty; - for (int i = 0; i < bytes.Length; i++)//閫愬瓧鑺傚彉涓�16杩涘埗瀛楃锛屼互%闅斿紑 - { - result += "%" + Convert.ToString(bytes[i], 16); - } - return result; - - } - - private string HexStringToString1(string hs) - { - //浠�%鍒嗗壊瀛楃涓诧紝骞跺幓鎺夌┖瀛楃 - string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries); - byte[] b = new byte[chars.Length]; - //閫愪釜瀛楃鍙樹负16杩涘埗瀛楄妭鏁版嵁 - for (int i = 0; i < chars.Length; i++) - { - b[i] = Convert.ToByte(chars[i], 16); - } - //鎸夌収鎸囧畾缂栫爜灏嗗瓧鑺傛暟缁勫彉涓哄瓧绗︿覆 - return System.Text.Encoding.UTF8.GetString(b); - } - ///<summary > /// 鑾峰彇led澶辫兘鏃堕棿 /// <para>number:搴忓彿</para> @@ -436,40 +446,40 @@ return await System.Threading.Tasks.Task.Run(async () => { Action<string, string> action = (topic, message) => - { - var gatewayID = topic.Split('/')[0]; - var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); - - if (topic == gatewayID + "/" + "ZbDataPassthrough") - { - var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString()); - - if (clientDataPassthroughResponseData != null) - { - if (clientDataPassthroughResponseData?.PassData != null) - { - var data = clientDataPassthroughResponseData.PassData; - var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); - if (command == "0413") - { - result = new LedTimeData(); - result.serialNum = Convert.ToInt32(data[10].ToString() + data[11].ToString(), 16); - result.enable = Convert.ToInt32(data[12].ToString() + data[13].ToString(), 16); - result.startHour = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16); - result.startMin = Convert.ToInt32(data[16].ToString() + data[17].ToString(), 16); - result.endHour = Convert.ToInt32(data[18].ToString() + data[19].ToString(), 16); - result.endMin = Convert.ToInt32(data[20].ToString() + data[21].ToString(), 16); - string remark = data.Substring(22, data.Length - 22); - var bytes = new byte[remark.Length / 2]; - for (int i = 0; i < bytes.Length; i++) - { - bytes[i] = (byte)Convert.ToInt32(remark.Substring(i * 2, 2), 16); - } - result.remark = System.Text.Encoding.UTF8.GetString(bytes); - } - } - } - } + { + var gatewayID = topic.Split('/')[0]; + var jobject = Newtonsoft.Json.Linq.JObject.Parse(message); + + if (topic == gatewayID + "/" + "ZbDataPassthrough") + { + var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString()); + + if (clientDataPassthroughResponseData != null) + { + if (clientDataPassthroughResponseData?.PassData != null) + { + var data = clientDataPassthroughResponseData.PassData; + var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString(); + if (command == "0413") + { + result = new LedTimeData(); + result.serialNum = Convert.ToInt32(data[10].ToString() + data[11].ToString(), 16); + result.enable = Convert.ToInt32(data[12].ToString() + data[13].ToString(), 16); + result.startHour = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16); + result.startMin = Convert.ToInt32(data[16].ToString() + data[17].ToString(), 16); + result.endHour = Convert.ToInt32(data[18].ToString() + data[19].ToString(), 16); + result.endMin = Convert.ToInt32(data[20].ToString() + data[21].ToString(), 16); + string remark = data.Substring(22, data.Length - 22); + var bytes = new byte[remark.Length / 2]; + for (int i = 0; i < bytes.Length; i++) + { + bytes[i] = (byte)Convert.ToInt32(remark.Substring(i * 2, 2), 16); + } + result.remark = System.Text.Encoding.UTF8.GetString(bytes); + } + } + } + } }; Gateway.Actions += action; @@ -554,7 +564,7 @@ /// <summary> /// 璧峰鏃� /// </summary> - public int startHour; + public int startHour = -1; /// <summary> /// 璧峰鍒� /// </summary> @@ -562,7 +572,7 @@ /// <summary> /// 缁撴潫鏃� /// </summary> - public int endHour; + public int endHour = -1; /// <summary> /// 缁撴潫鍒� /// </summary> -- Gitblit v1.8.0