public class OsramController { public static OsramToken GetOsramToken(string username, string password, string serialNumber) { string payload = "{\"username\" : \"" + username + "\",\"password\" : \"" + password + "\",\"serialNumber\" : \"" + serialNumber + "\"}"; string url = "https://eu.lightify-api.org/lightify/services/session"; var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.UserAgent = "Lightify/1.0.5 CFNetwork/711.1.16 Darwin/14.0.0"; httpWebRequest.Method = "POST"; httpWebRequest.ContentType = "application/json"; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(payload); streamWriter.Flush(); streamWriter.Close(); } OsramToken os = new OsramToken(); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); os = JsonConvert.DeserializeObject(result); } return os; } public static List GetDevicesList(string token) { List Devices = new List(); string url = "https://eu.lightify-api.org/lightify/services/devices"; var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.UserAgent = "Lightify/1.0.5 CFNetwork/711.1.16 Darwin/14.0.0"; httpWebRequest.Method = "GET"; httpWebRequest.ContentType = "application/json"; httpWebRequest.Headers.Add("authorization",token); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); Devices = JsonConvert.DeserializeObject>(result); } return Devices; } public static string SenCommand(string token, string cmd) { string result = ""; string url = "https://eu.lightify-api.org/lightify/services/"+cmd; var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.UserAgent = "Lightify/1.0.5 CFNetwork/711.1.16 Darwin/14.0.0"; httpWebRequest.Method = "GET"; httpWebRequest.ContentType = "application/json"; httpWebRequest.Headers.Add("authorization", token); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { result = streamReader.ReadToEnd(); } return result; } }