ampoules_connectees_-_philips_hue_et_osram_ligthify
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
ampoules_connectees_-_philips_hue_et_osram_ligthify [2016/11/11 10:24] – créée 88.164.131.165 | ampoules_connectees_-_philips_hue_et_osram_ligthify [2016/11/12 00:35] – [Exemple application C#] 88.164.131.165 | ||
---|---|---|---|
Ligne 28: | Ligne 28: | ||
Si vous souhaitez par la suite utiliser une passerelle Philips Hue, un reset de l' | Si vous souhaitez par la suite utiliser une passerelle Philips Hue, un reset de l' | ||
+ | ==== Exemple application C# ==== | ||
+ | |||
+ | La documentation de l'API : https:// | ||
+ | Inspiré du code : https:// | ||
+ | Class pour le decodage JSON : http:// | ||
+ | |||
+ | === Récupération d'un ticket === | ||
+ | <code csharp |Ticket> | ||
+ | //Le Token n'est valable que 15mn | ||
+ | //user : le nom d' | ||
+ | //pass : votre mot de pass .... | ||
+ | //serialnum : Le numéro de série qui apparait sur la passerelle OSR0xxxxxxx (Ne pas indiquer ce qui trouve apres le " | ||
+ | OsramToken token = OsramController.GetOsramToken(" | ||
+ | |||
+ | textBoxToken.Text = token.securityToken; | ||
+ | textBoxUserID.Text = token.userId; | ||
+ | </ | ||
+ | |||
+ | <code csharp |Class OsramToken> | ||
+ | public class OsramToken | ||
+ | { | ||
+ | public string userId { get; set; } | ||
+ | public string securityToken { get; set; } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <code csharp |Class OsramController> | ||
+ | public class OsramController | ||
+ | { | ||
+ | public static OsramToken GetOsramToken(string username, string password, string serialNumber) | ||
+ | { | ||
+ | string payload = " | ||
+ | string url = " | ||
+ | var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); | ||
+ | httpWebRequest.UserAgent = " | ||
+ | httpWebRequest.Method = " | ||
+ | httpWebRequest.ContentType = " | ||
+ | |||
+ | 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< | ||
+ | |||
+ | } | ||
+ | |||
+ | return os; | ||
+ | } | ||
+ | |||
+ | public static List< | ||
+ | { | ||
+ | List< | ||
+ | |||
+ | string url = " | ||
+ | var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); | ||
+ | httpWebRequest.UserAgent = " | ||
+ | httpWebRequest.Method = " | ||
+ | httpWebRequest.ContentType = " | ||
+ | httpWebRequest.Headers.Add(" | ||
+ | |||
+ | var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); | ||
+ | using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) | ||
+ | { | ||
+ | var result = streamReader.ReadToEnd(); | ||
+ | Devices = JsonConvert.DeserializeObject< | ||
+ | } | ||
+ | |||
+ | return Devices; | ||
+ | } | ||
+ | |||
+ | public static string SenCommand(string token, string cmd) | ||
+ | { | ||
+ | string result = ""; | ||
+ | |||
+ | string url = " | ||
+ | var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); | ||
+ | httpWebRequest.UserAgent = " | ||
+ | httpWebRequest.Method = " | ||
+ | httpWebRequest.ContentType = " | ||
+ | httpWebRequest.Headers.Add(" | ||
+ | |||
+ | var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); | ||
+ | using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) | ||
+ | { | ||
+ | result = streamReader.ReadToEnd(); | ||
+ | } | ||
+ | |||
+ | return result; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Récupération de la liste des équipements === | ||
+ | |||
+ | <code csharp |Devices> | ||
+ | List< | ||
+ | </ | ||
+ | |||
+ | <code csharp |Class Devices> | ||
+ | public class OsramDevice | ||
+ | { | ||
+ | public int deviceId { get; set; } | ||
+ | public string deviceType { get; set; } | ||
+ | public string manufacturer { get; set; } | ||
+ | public string modelName { get; set; } | ||
+ | public string name { get; set; } | ||
+ | public List< | ||
+ | public List< | ||
+ | public bool online { get; set; } | ||
+ | public bool on { get; set; } | ||
+ | public float brightnessLevel { get; set; } | ||
+ | public float hue { get; set; } | ||
+ | public float saturation { get; set; } | ||
+ | public int temperature { get; set; } | ||
+ | public string firmwareVersion { get; set; } | ||
+ | public string color { get; set; } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Envoi de commandes à un équipement === | ||
+ | Toutes les commandes doivent faire référence à un ID d' | ||
+ | |||
+ | <code csharp |Class Devices> | ||
+ | private void buttonTurnOff_Click(object sender, EventArgs e) | ||
+ | { | ||
+ | string result = OsramController.SenCommand(textBoxToken.Text, | ||
+ | } | ||
+ | |||
+ | private void buttonTurnOn_Click(object sender, EventArgs e) | ||
+ | { | ||
+ | string result = OsramController.SenCommand(textBoxToken.Text, | ||
+ | } | ||
+ | |||
+ | private void buttonChangeColor_Click(object sender, EventArgs e) | ||
+ | { | ||
+ | string color = labelColor.Text.Replace("#", | ||
+ | string result = OsramController.SenCommand(textBoxToken.Text, | ||
+ | } | ||
+ | |||
+ | private void buttonChangeLevel_Click(object sender, EventArgs e) | ||
+ | { | ||
+ | string result = OsramController.SenCommand(textBoxToken.Text, | ||
+ | } | ||
+ | |||
+ | private void buttonChangeTemperature_Click(object sender, EventArgs e) | ||
+ | { | ||
+ | string result = OsramController.SenCommand(textBoxToken.Text, | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | {{:: | ||
===== Philips HUE ===== | ===== Philips HUE ===== | ||
==== FAQ ==== | ==== FAQ ==== | ||
- | **Est-il possible de regler la couleur et la luminosité par defaut | + | |
+ | **Est-il possible de connecter des ampoules OSRAM Lightify sur une passerelle Philips Hue ?** | ||
+ | |||
+ | Oui. Il vous faudra néanmoins un Hub OSRAM Lightify pour effectuer la mise à jour de vos ampoules. | ||
+ | |||
+ | |||
+ | **Est-il possible de regler la couleur et la luminosité par défaut | ||
Non. D' | Non. D' | ||
+ | |||
OSRAM a intégré cette possibilité sur sa gamme ligthify avec un simple message d' | OSRAM a intégré cette possibilité sur sa gamme ligthify avec un simple message d' | ||
ampoules_connectees_-_philips_hue_et_osram_ligthify.txt · Dernière modification : 2018/03/09 10:40 de 88.164.131.165