using System; using System.Collections.Generic; using System.Linq; using System.Text; using HDL_ON.DAL; using HDL_ON.DAL.Net; using HDL_ON.Entity; using HDL_ON.Entity.Enumerative; using HDL_ON.UI; using Newtonsoft.Json.Linq; namespace HDL_ON { public partial class Control { public static byte[] Send(JObject commandString, Function function, int sendCount) { if (string.IsNullOrEmpty(function.A_Protocol)) { try { var subnetID = Convert.ToByte(JObject.FromObject(function.Bus_Protocol).GetValue("SubnetID")); var deviceID = Convert.ToByte(JObject.FromObject(function.Bus_Protocol).GetValue("DeviceID")); byte[] bytes = DataConversion_Bus(commandString); var sss = ControlBytesSendHasReturn(Command.SetSingleLight, subnetID, deviceID, bytes, sendCount); return sss; } catch (Exception ex) { MainPage.Log($"发送数据异常: {ex.Message}"); } } else { var jObject = new JObject { { "DeviceAddr", 11}, { "Epoint", 22}, { "Cluster_ID", 8 }, { "Command", 33}, { "SendMode", 2 } }; var data = new JObject { { "Level", 1 }, { "TransitionTime", 0 } }; jObject.Add("Data", data); return null; } return null; } /// /// 将A协议控制数据转换程bus协议的控制数据 /// /// /// static byte[] DataConversion_Bus(JObject commandString) { //反馈: //{ //"Namespace": "HDL", "Command": "writeRespone", //“Type”:”device”, "objects": [{ //"sid": "0001002019101209000025670100010001”, "statue": "success” //}] } byte[] sendBytes; switch (commandString.GetValue("Command").ToString()) { case "write": var jobj = JObject.FromObject(commandString.GetValue("objects")); var functionType = jobj.GetValue("sid").ToString().Substring(24, 2); switch ((FunctionType)Enum.ToObject(typeof(FunctionType), Convert.ToInt32(functionType))) { case FunctionType.Light: if (jobj.ContainsKey("Switch"))//继电器 { if (jobj.ContainsKey("Dimmer")) {//调光器 } else//继电器 { } } break; } break; } return null; } } }