ampoules_connectees_-_philips_hue_et_osram_ligthify
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
ampoules_connectees_-_philips_hue_et_osram_ligthify [2016/11/12 00:35] – [Exemple application C#] 88.164.131.165 | ampoules_connectees_-_philips_hue_et_osram_ligthify [2018/03/09 10:21] – [Récupération de la liste des ampoules] 88.164.131.165 | ||
---|---|---|---|
Ligne 206: | Ligne 206: | ||
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' | ||
+ | === Exemple application C# === | ||
+ | |||
+ | ==== Récupération de la liste des ampoules ==== | ||
+ | <code code csharp |HueDevice> | ||
+ | public class HueDevice | ||
+ | { | ||
+ | public int deviceId { get; set; } | ||
+ | public string deviceType { get; set; } | ||
+ | public string name { get; set; } | ||
+ | public bool online { get; set; } | ||
+ | public int bri { get; set; } | ||
+ | public string alert { get; set; } | ||
+ | public bool reachable { get; set; } | ||
+ | public string type { get; set; } | ||
+ | public string modelid { get; set; } | ||
+ | public string manufacturername { get; set; } | ||
+ | public string uniqueid { get; set; } | ||
+ | public string swversion { get; set; } | ||
+ | } | ||
+ | </ | ||
+ | <code csharp> | ||
+ | public List< | ||
+ | { | ||
+ | | ||
+ | |||
+ | string url = @" | ||
+ | var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); | ||
+ | httpWebRequest.Method = " | ||
+ | httpWebRequest.ContentType = " | ||
+ | var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); | ||
+ | using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) | ||
+ | { | ||
+ | var result = streamReader.ReadToEnd(); | ||
+ | dynamic response = JsonConvert.DeserializeObject(result); | ||
+ | |||
+ | foreach (var item in response) | ||
+ | { | ||
+ | string id = item.Name; | ||
+ | bool on = false; | ||
+ | int bri = 0; | ||
+ | string alert = ""; | ||
+ | bool reachable = false; | ||
+ | string type = ""; | ||
+ | string name = ""; | ||
+ | string modelid = ""; | ||
+ | string manufacturername = ""; | ||
+ | string uniqueid= ""; | ||
+ | string swversion= ""; | ||
+ | foreach (var parameters in item) | ||
+ | { | ||
+ | if (parameters.state != null) | ||
+ | { | ||
+ | if (parameters.state.on != null) | ||
+ | on = (bool)parameters.state.on; | ||
+ | if (parameters.state.bri != null) | ||
+ | bri = (int)parameters.state.bri; | ||
+ | if (parameters.state.none != null) | ||
+ | alert = (string)parameters.state.alert; | ||
+ | if (parameters.state.reachable != null) | ||
+ | reachable = (bool)parameters.state.reachable; | ||
+ | } | ||
+ | |||
+ | if (parameters.type != null) | ||
+ | type = (string)parameters.type; | ||
+ | if (parameters.name != null) | ||
+ | name = (string)parameters.name; | ||
+ | if (parameters.modelid != null) | ||
+ | modelid = (string)parameters.modelid; | ||
+ | if (parameters.manufacturername != null) | ||
+ | manufacturername = (string)parameters.manufacturername; | ||
+ | if (parameters.uniqueid != null) | ||
+ | uniqueid = (string)parameters.uniqueid; | ||
+ | if (parameters.swversion != null) | ||
+ | swversion = (string)parameters.swversion; | ||
+ | } | ||
+ | |||
+ | Hue.HueDevice Lumiere = new HueDevice(); | ||
+ | Lumiere.deviceId = Convert.ToInt32(id); | ||
+ | Lumiere.name = name; | ||
+ | Lumiere.online = reachable; | ||
+ | Lumiere.bri = bri; | ||
+ | Lumiere.alert = alert; | ||
+ | Lumiere.reachable = reachable; | ||
+ | Lumiere.type = type; | ||
+ | Lumiere.modelid = modelid; | ||
+ | Lumiere.manufacturername = manufacturername; | ||
+ | Lumiere.uniqueid = uniqueid; | ||
+ | Lumiere.swversion = swversion; | ||
+ | |||
+ | Devices.Add(Lumiere); | ||
+ | } | ||
+ | return Devices; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | ====Allume ou éteint une ampoule ==== | ||
+ | <code csharp> | ||
+ | /// < | ||
+ | /// Allume ou éteint l' | ||
+ | /// </ | ||
+ | /// <param name=" | ||
+ | /// <param name=" | ||
+ | internal bool SetState(string id, int state) | ||
+ | { | ||
+ | try | ||
+ | { | ||
+ | string data; | ||
+ | if (state == 1) | ||
+ | data = "{ \" | ||
+ | else | ||
+ | data = "{ \" | ||
+ | |||
+ | byte[] bytes; | ||
+ | bytes = System.Text.Encoding.UTF8.GetBytes(data); | ||
+ | string url = @" | ||
+ | var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); | ||
+ | httpWebRequest.Method = " | ||
+ | httpWebRequest.ContentType = " | ||
+ | httpWebRequest.ContentLength = bytes.Length; | ||
+ | Stream requestStream = httpWebRequest.GetRequestStream(); | ||
+ | requestStream.Write(bytes, | ||
+ | requestStream.Close(); | ||
+ | |||
+ | var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); | ||
+ | using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) | ||
+ | { | ||
+ | var result = streamReader.ReadToEnd(); | ||
+ | dynamic response = JsonConvert.DeserializeObject(result); | ||
+ | } | ||
+ | } | ||
+ | catch (Exception ex) | ||
+ | { | ||
+ | return false; | ||
+ | } | ||
+ | return true; | ||
+ | } | ||
+ | </ |
ampoules_connectees_-_philips_hue_et_osram_ligthify.txt · Dernière modification : 2018/03/09 10:40 de 88.164.131.165