//추후 코타나에서 사용할때 이용할 예정 public static Model.ZigBee.ZigBeeEndPoint GetEndPoint(string target) { //int id = 0; Model.ZigBee.ZigBeeEndPoint endPoint = null; using (var db = new IOTOI.Model.Db.Context()) { try { //id = (from ep in db.ZigBeeEndPoint // where (ep.CustomName).ToUpper().Replace(" ", "") == target.ToUpper().Replace(" ", "") // select ep.Id) // .FirstOrDefault(); endPoint = db.ZigBeeEndPoint .Where( b => b.CustomName != null && b.CustomName.ToUpper().Replace(" ", "").Equals(target.ToUpper().Replace(" ", "")) ).AsNoTracking() .FirstOrDefault(); } catch (Exception e) { loggingServices.Write(Log, e.Message, LogLevel.Error, e); } } //return id; return(endPoint); }
private static bool OnOffToggle(Model.ZigBee.ZigBeeEndPoint endPoint, string commandType) { bool rtn = false; if (ZigBeeAdapter != null) { rtn = ZigBeeAdapter.OnOffToggle(endPoint.MacAddress, endPoint.EpNum, commandType); } return(rtn); }
public static void GetReturnData(ValueSet message, ref ValueSet returnData) { string command = message["Command"] as string; switch (command.ToUpper()) { case "ZIGBEESTATUS": { returnData.Add("Result", IsZigBeeStatus); } break; case "DISCOVER": { StartDeviceDiscovery(); returnData.Add("Status", "OK"); } break; case "GETDISCOVERRUNNING": { bool rst = IsRunningDiscoverDevices(); //loggingServices.Write(Log, rst.ToString(), LogLevel.Debug); returnData.Add("Result", rst); returnData.Add("Status", "OK"); } break; case "GETENDDEVICES": { string result = ""; try { result = JsonConvert.SerializeObject(GetEndDevices()); } catch (Exception e) { loggingServices.Write(Log, e.Message, LogLevel.Error, e); } returnData.Add("Result", result); returnData.Add("Status", "OK"); } break; case "SETENDDEVICES": { List <string> result = null; try { result = SetEndDevices(JsonConvert.DeserializeObject <List <ValueSet> >(message["Param"].ToString())); } catch (Exception e) { loggingServices.Write(Log, e.Message, LogLevel.Error, e); } returnData.Add("Result", JsonConvert.SerializeObject(result)); returnData.Add("Status", "OK"); } break; case "ONOFFTOGGLE": { string result = "OnOffToggle Success"; string status = "OK"; Model.ZigBee.ZigBeeEndPoint endPoint = JsonConvert.DeserializeObject <Model.ZigBee.ZigBeeEndPoint>(message["endPoint"].ToString()); if (endPoint != null) { if (!OnOffToggle(endPoint, "OnOffToggle")) { result = "Failed to On/Off Toggle"; status = "NG"; } } else { result = "EndPoint is Null"; status = "NG"; } returnData.Add("Result", result); returnData.Add("Status", status); } break; case "PLUGPOWERON": { string result = "Power On Success"; string status = "OK"; Model.ZigBee.ZigBeeEndPoint endPoint = JsonConvert.DeserializeObject <Model.ZigBee.ZigBeeEndPoint>(message["endPoint"].ToString()); if (endPoint != null) { if (!OnOffToggle(endPoint, "PowerOn")) { result = "Failed to Power On"; status = "NG"; } } else { result = "EndPoint is Null"; status = "NG"; } returnData.Add("Result", result); returnData.Add("Status", status); } break; case "PLUGPOWEROFF": { string result = "Power Off Success"; string status = "OK"; Model.ZigBee.ZigBeeEndPoint endPoint = JsonConvert.DeserializeObject <Model.ZigBee.ZigBeeEndPoint>(message["endPoint"].ToString()); if (endPoint != null) { if (!OnOffToggle(endPoint, "PowerOff")) { result = "Failed to Power Off"; status = "NG"; } } else { result = "EndPoint is Null"; status = "NG"; } returnData.Add("Result", result); returnData.Add("Status", status); } break; case "MANAGEMENTLEAVE": { string result = "Management Leave Success"; string status = "OK"; Model.ZigBee.ZigBeeEndDevice endDevice = JsonConvert.DeserializeObject <Model.ZigBee.ZigBeeEndDevice>(message["endDevice"].ToString()); if (endDevice != null) { if (!ManagementLeave(endDevice)) { result = "Failed to Management Leave"; status = "NG"; } } else { result = "EndDevice is Null"; status = "NG"; } returnData.Add("Result", result); returnData.Add("Status", status); } break; default: { returnData.Add("Status", "Fail: unknown command"); break; } } }