public List <ModuleModel> GenerateModuleModel(string deviceName) { var mModel = new List <ModuleModel>(); foreach (var m in DeviceStorage.GetDeviceByName(deviceName).Modules) { var buf = new ModuleModel(); buf.module = m; buf.DeviceName = deviceName; if (buf.module is Trigger) { buf.Type = "Simple Trigger"; buf.StrVal = Utility.UnWrapStates((buf.module as Trigger).State); } if (buf.module is VariadicTrigger) { buf.Type = "Variadic Trigger"; buf.StrVal = (buf.module as VariadicTrigger).State.ToString(); } if (buf.module is Sensor) { buf.Type = (buf.module as Sensor).State.ToString(); } mModel.Add(buf); // mModel[0].Module. } return(mModel); }
public IActionResult Register(string deviceName) { DeviceStorage.RegisterDevice(DeviceStorage.GetDeviceByName(deviceName)); ViewData["Message"] = "Settings general page."; return(View("Devices", DevModelHandler.deviceModel)); }
public IActionResult ScheduleTimeBased(string deviceName, string moduleName) { var module = DeviceStorage.GetDeviceByName(deviceName).GetModuleByName(moduleName); Random rand = new Random(); SmSEvent smSEvent = new TimeEvent("AutoGeneratedEvent", module, rand.Next(1, 250)); var time = DateTime.Now.AddSeconds(5); (smSEvent as TimeEvent).TriggerAt(time); Scheduler.AddEvent(smSEvent); // DevModelHandler.deviceModel.Find(x => x.DeviceInfo.Device.Name == deviceName).DeviceInfo.Device.ExternalName = "Tesst"; //var test = Request ViewData["Message"] = "Settings general page."; return(View("Devices", DevModelHandler.deviceModel)); }
private string HandleDump() { Device buf = new Device(_headers["device_name"], "Empty"); buf.CurrentTime = Int64.Parse(_headers["local_time"]); if (!DeviceStorage.Contains(_headers["device_name"])) { _resultInfo.Code = 404; _resultInfo.Message = "Device not found"; } else { buf = DeviceStorage.GetDeviceByName(_headers["device_name"]); if (!_headers.ContainsKey("auth")) { _resultInfo.Code = (int)RetCodes.UNAUTHORIZED; _resultInfo.Message = "No auth header"; } else { if (_headers["auth"] == buf.AuthToken) { var modules = ParseModulesFromHeaders(); foreach (var m in modules) { if (buf.IsModuleExist(m.Name)) { buf.ChangeModuleFromDevice(buf.GetModuleByName(m.Name), m); } else { buf.AddModule(m); } } _resultInfo.Code = (int)RetCodes.OK; _resultInfo.Message = "Ok"; } else { _resultInfo.Code = (int)RetCodes.UNAUTHORIZED; _resultInfo.Message = "Auth token is wrong."; } } } return(buf.GetQueueMessage() + BuildValidationString(buf)); }
private string HandleAck() { Device buf = new Device(_headers["device_name"], "Empty"); buf.LastSync = DateTime.Now; if (DeviceStorage.Contains(_headers["device_name"])) { buf = DeviceStorage.GetDeviceByName(_headers["device_name"]); } else { if (DatabaseWrapper.IsDeviceExist(_headers["device_name"])) { buf = DatabaseWrapper.LoadDeviceFromDB(_headers["device_name"]).Device; } } buf.CurrentTime = Int64.Parse(_headers["local_time"]); var modules = ParseModulesFromHeaders(); foreach (var m in modules) { if (buf.IsModuleExist(m.Name)) { buf.ChangeModuleFromDevice(buf.GetModuleByName(m.Name), m); } else { buf.AddModule(m); } } if (!DeviceStorage.DeviceExists(_headers["device_name"])) { DeviceStorage.AddDevice(buf); } _resultInfo.Code = (int)RetCodes.OK; _resultInfo.Message = "Ok"; return(buf.GetQueueMessage()); }