// /blink1/pattern/add -- Add color pattern to color pattern list static string Ublink1PatternAdd(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string patternstr = request.Query.Get("pattern"); string statusstr = "pattern add"; Blink1Pattern pattern = null; if (pname != null && patternstr != null) { pattern = new Blink1Pattern(pname); Boolean goodpattern = pattern.parsePatternStr(patternstr); if (goodpattern) { blink1Server.patterns[pname] = pattern; // NOTE: this replaces pattern if already exists } else { statusstr = "error: pattern badly formatted"; } } else { statusstr = "error: need 'pname' and 'pattern' (e.g. '2,#ff00ff,0.5,#00ff00,0.5') argument"; } blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", statusstr); result.Add("pattern", pattern); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/pattern/delall -- Remove all color patterns from color pattern list static string Ublink1PatternDelAll(HttpRequest request, Blink1Server blink1Server) { blink1Server.stopAllPatterns(); blink1Server.patterns.Clear(); blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", "all patterns removed"); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/input/delall -- Remove all configured inputs static string Ublink1InputDelAll(HttpRequest request, Blink1Server blink1Server) { foreach (KeyValuePair <string, Blink1Input> kvp in blink1Server.inputs) { kvp.Value.stop(); } blink1Server.inputs.Clear(); blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", "all patterns removed"); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/logging -- Set logging level (or turn it off) static string Ublink1Logging(HttpRequest request, Blink1Server blink1Server) { string loglevelstr = request.Query.Get("loglevel"); int loglevel = (logToScreen) ? 1 : 0; if (loglevelstr != null) { loglevel = int.Parse(loglevelstr, CultureInfo.InvariantCulture); logToScreen = (loglevel >= 1); blink1Server.saveSettings(); } Log("loglevel: " + loglevel); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", "logging"); result.Add("loglevel", loglevel); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/pattern/del -- Remove color pattern from color pattern list static string Ublink1PatternDel(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string statusstr = "no pattern by that name"; Blink1Pattern patt = null; if (pname != null) { patt = blink1Server.patterns[pname]; patt.stop(); blink1Server.patterns.Remove(pname); statusstr = "pattern '" + pname + "' removed"; } blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", statusstr); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/input/ifttt -- Add and Start watching messages from IFTTT webservice static string Ublink1InputIfttt(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string iname = request.Query.Get("iname"); string rulename = request.Query.Get("arg1"); string test = request.Query.Get("test"); if (pname == null) { pname = iname; } Boolean testmode = (test == null) ? false : (test.Equals("on") || test.Equals("true")); string statusstr = "must specifiy 'iname' and 'arg1' (rulename)"; Blink1Input input = null; if (rulename != null && iname != null) { statusstr = "input ifttt"; rulename = rulename.Trim(); input = new Blink1Input(blink1Server, iname, pname, "ifttt", rulename); if (testmode) // override periodic fetch for immediate fetch { Blink1Input.getIftttResponse(false); } input.updateIftttInput(); if (!testmode) { blink1Server.inputs[iname] = input; // NOTE: this replaces input if already exists } } blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", statusstr); result.Add("input", input); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/input/del -- Remove a configured input static string Ublink1InputDel(HttpRequest request, Blink1Server blink1Server) { string iname = request.Query.Get("iname"); string statusstr = "no input by that name"; Blink1Input input = null; if (iname != null) { input = blink1Server.inputs[iname]; input.stop(); blink1Server.inputs.Remove(iname); statusstr = "input '" + iname + "' removed"; } blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", statusstr); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/input/script -- Add and Start command-line script executer static string Ublink1InputScript(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string iname = request.Query.Get("iname"); string fpath = request.Query.Get("arg1").Trim(); string test = request.Query.Get("test"); if (pname == null) { pname = iname; } Boolean testmode = (test == null) ? false : (test.Equals("on") || test.Equals("true")); string statusstr = "must specifiy 'iname' and 'arg1' (script filepath)"; Blink1Input input = null; if (fpath != null && iname != null) { statusstr = "input script"; input = new Blink1Input(blink1Server, iname, pname, "script", fpath); input.updateScriptInput(); if (!testmode) { blink1Server.inputs[iname] = input; // NOTE: this replaces input if already exists } } blink1Server.saveSettings(); Dictionary <string, object> result = new Dictionary <string, object>(); result.Add("status", statusstr); result.Add("input", input); return(JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings)); }
// /blink1/input/url -- Add and Start URL watcher on given URL static string Ublink1InputUrl(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string iname = request.Query.Get("iname"); string url = request.Query.Get("arg1"); string test = request.Query.Get("test"); if (pname == null) pname = iname; Boolean testmode = (test == null) ? false : (test.Equals("on") || test.Equals("true")); string statusstr = "must specifiy 'iname' and 'arg1' (url)"; Blink1Input input = null; if (url != null && iname != null) { statusstr = "input url"; input = new Blink1Input(iname, "url", url, null, null); input.blink1Server = blink1Server; input.pname = pname; input.updateUrlInput(); if (!testmode) { blink1Server.inputs[iname] = input; // NOTE: this replaces input if already exists } } blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", statusstr); result.Add("input", input); return JsonConvert.SerializeObject(result, Formatting.Indented,jsonSerializerSettings); }
// /blink1/input/script -- Add and Start command-line script executer static string Ublink1InputScript(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string iname = request.Query.Get("iname"); string fpath = request.Query.Get("arg1").Trim(); string test = request.Query.Get("test"); if (pname == null) pname = iname; Boolean testmode = (test == null) ? false : (test.Equals("on") || test.Equals("true")); string statusstr = "must specifiy 'iname' and 'arg1' (script filepath)"; Blink1Input input = null; if (fpath != null && iname != null) { statusstr = "input script"; input = new Blink1Input(blink1Server, iname, pname, "script", fpath); input.updateScriptInput(); if (!testmode) { blink1Server.inputs[iname] = input; // NOTE: this replaces input if already exists } } blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", statusstr); result.Add("input", input); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
// /blink1/input/delall -- Remove all configured inputs static string Ublink1InputDelAll(HttpRequest request, Blink1Server blink1Server) { foreach (KeyValuePair<string, Blink1Input> kvp in blink1Server.inputs) { kvp.Value.stop(); } blink1Server.inputs.Clear(); blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", "all patterns removed"); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
// /blink1/input/del -- Remove a configured input static string Ublink1InputDel(HttpRequest request, Blink1Server blink1Server) { string iname = request.Query.Get("iname"); string statusstr = "no input by that name"; Blink1Input input = null; if (iname != null) { if (blink1Server.inputs.TryGetValue(iname, out input)) { input.stop(); blink1Server.inputs.Remove(iname); statusstr = "input '" + iname + "' removed"; } } blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", statusstr); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
// /blink1/pattern/delall -- Remove all color patterns from color pattern list static string Ublink1PatternDelAll(HttpRequest request, Blink1Server blink1Server) { blink1Server.stopAllPatterns(); blink1Server.patterns.Clear(); blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", "all patterns removed"); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
// /blink1/pattern/del -- Remove color pattern from color pattern list static string Ublink1PatternDel(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string statusstr = "no pattern by that name"; Blink1Pattern patt = null; if (pname != null) { if( blink1Server.patterns.TryGetValue(pname, out patt) ) { patt.stop(); blink1Server.patterns.Remove(pname); statusstr = "pattern '" + pname + "' removed"; } } blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", statusstr); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
// /blink1/pattern/add -- Add color pattern to color pattern list static string Ublink1PatternAdd(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string patternstr = request.Query.Get("pattern"); string statusstr = "pattern add"; Blink1Pattern pattern = null; if (pname != null && patternstr != null) { pattern = new Blink1Pattern(pname); Boolean goodpattern = pattern.parsePatternStr(patternstr); if (goodpattern) { blink1Server.patterns[pname] = pattern; // NOTE: this replaces pattern if already exists } else { statusstr = "error: pattern badly formatted"; } } else { statusstr = "error: need 'pname' and 'pattern' (e.g. '2,#ff00ff,0.5,#00ff00,0.5') argument"; } blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", statusstr); result.Add("pattern", pattern); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
// /blink1/logging -- Set logging level (or turn it off) static string Ublink1Logging(HttpRequest request, Blink1Server blink1Server) { string loglevelstr = request.Query.Get("loglevel"); int loglevel = (logToScreen) ? 1 : 0; if (loglevelstr != null) { loglevel = int.Parse(loglevelstr, CultureInfo.InvariantCulture); logToScreen = (loglevel >= 1); blink1Server.saveSettings(); } Log("loglevel: " + loglevel); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", "logging"); result.Add("loglevel", loglevel); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }
private void stripMenuStartMinimized_Click(object sender, EventArgs e) { Blink1Server.startMinimized = stripMenuStartMinimized.Checked; mAllowVisible = !Blink1Server.startMinimized; blink1Server.saveSettings(); }
// /blink1/input/ifttt -- Add and Start watching messages from IFTTT webservice static string Ublink1InputIfttt(HttpRequest request, Blink1Server blink1Server) { string pname = request.Query.Get("pname"); string iname = request.Query.Get("iname"); string rulename = request.Query.Get("arg1"); string test = request.Query.Get("test"); if (pname == null) pname = iname; Boolean testmode = (test == null) ? false : (test.Equals("on") || test.Equals("true")); string statusstr = "must specifiy 'iname' and 'arg1' (rulename)"; Blink1Input input = null; if (rulename != null && iname != null) { statusstr = "input ifttt"; rulename = rulename.Trim(); input = new Blink1Input(blink1Server, iname, pname, "ifttt", rulename); if (testmode) { // override periodic fetch for immediate fetch Blink1Input.getIftttResponse(false); } input.updateIftttInput(); if (!testmode) { blink1Server.inputs[iname] = input; // NOTE: this replaces input if already exists } } blink1Server.saveSettings(); Dictionary<string, object> result = new Dictionary<string, object>(); result.Add("status", statusstr); result.Add("input", input); return JsonConvert.SerializeObject(result, Formatting.Indented, jsonSerializerSettings); }