public IActionResult switches(int?index, string state) { if (index.HasValue && !string.IsNullOrEmpty(state)) { if (index.Value <= items.Count) { MQTTSwitch sw = (items[index.Value - 1] as MQTTSwitch); sw.state = state.ToUpper(); return(new JsonResult(new { status = "OK", systime = DateTime.Now.ToString("HH:mm:ss") })); } } return(NotFound()); }
public ApiController(IHostingEnvironment env) { _env = env; if (items == null) { items = new List <MQTTProcess>(); triggers = new Dictionary <MQTTProcess, List <Trigger> >(); MQTTProcess item = new MQTTSwitch() { name = "out1", index = "1" }; items.Add(item); triggers.Add(item, new List <Trigger>()); triggers[item].Add(new OnOffTrigger() { name = "Включати 8:00", action = "on", time = "480" }); triggers[item].Add(new OnOffTrigger() { name = "Виключати 9:00", action = "off", time = "540" }); item = new MQTTSwitch() { name = "out2", index = "2" }; items.Add(item); triggers.Add(item, new List <Trigger>()); triggers[item].Add(new Venting()); items.Add(item = new MQTTSwitch() { name = "out3", index = "3" }); triggers.Add(item, new List <Trigger>()); item = new MQTTSwitch() { name = "led", index = "4", state = "ON" }; items.Add(item); triggers.Add(item, new List <Trigger>()); triggers[item].Add(new Termostat()); items.Add(new MQTTSensor() { name = "t1" }); } }