WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


ampoules_connectees_-_philips_hue_et_osram_ligthify

Philips HUE et OSRAM Lightify

OSRAM Lightify

Installation

FAQ

Connexion au routeur WIFI impossible sous Android ?

J'ai rencontré des problèmes lors de la connexion de la passerelle et ma freebox. Un message m'indiqué toujours que le mot de passe WIFI était erroné. J'ai finalement dû utiliser mon Iphone pour pouvoir configurer la connexion WIFI

Mise à jour impossible de la passerelle ?

Lors de la première connexion à la passerelle, une mise à jour obligatoire est demandée. Cette mise à jour ne se faisait pas chez moi. La mise à jour a finalement fonctionné après avoir déconnecte la passerelle du WIFI de ma freebox et l'avoir reconnecté à mon téléphone utilisé en passerelle internet. La freebox bloque peut être des ports necessaires à la mise à jour.

Mise à jour impossible des ampoules ?

J'ai également rencontré des problèmes pour la mise à jour des ampoules. J'ai finalement utiliser l'application Iphone qui relance la mise à jour automatiquement en cas d’échec et laissé tourner. Au bout de 10ème tentative, l'ampoule a été mise à jour.

Peut-on configurer une luminosité et un couleur par défaut au démarrage de l'ampoule ?

Oui, il faut pour cela utiliser la passerelle OSRAM et le logiciel OSRAM lightify, aller dans l'écran de réglage de la luminosité et de la couleur et cliquer sur l'interrupteur en haut à droite. L'application proposera d'enregistrer la paramétrage par défaut.

Si vous souhaitez par la suite utiliser une passerelle Philips Hue, un reset de l'ampoule sera nécessaire et vous perdrez le paramétrage par défaut. Il n'est pas possible de reparamétrer par la suite avec la passerelle Philips HUE.

Exemple application C#

Récupération d'un ticket

|Ticket
            //Le Token n'est valable que 15mn
            //user : le nom d'utilisateur de votre compte Osram
            //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("user", "pass", "serialnum");
 
            textBoxToken.Text = token.securityToken;
            textBoxUserID.Text = token.userId;
|Class OsramToken
    public class OsramToken
    {
        public string userId { get; set; }
        public string securityToken { get; set; }
    }
|Class OsramController
    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<OsramToken>(result);
 
            }
 
            return os;
        }
 
        public static List<OsramDevice> GetDevicesList(string token)
        {
            List<OsramDevice> Devices = new List<OsramDevice>();
 
            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<List<OsramDevice>>(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;
        }
    }

Récupération de la liste des équipements

|Devices
List<OsramDevice> Devices = OsramController.GetDevicesList(textBoxToken.Text);
|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<int> groupList { get; set; }
        public List<string> bmpClusters { get; set; }
        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'équipement récupéré avec la liste des devices

|Class Devices
        private void buttonTurnOff_Click(object sender, EventArgs e)
        {
            string result = OsramController.SenCommand(textBoxToken.Text, "device/set?idx=" + textBoxDeviceID.Text + "&time=" + numericUpDownTime.Value.ToString() + "&onoff=0");
        }
 
        private void buttonTurnOn_Click(object sender, EventArgs e)
        {
            string result = OsramController.SenCommand(textBoxToken.Text, "device/set?idx=" + textBoxDeviceID.Text + "&level=" + (numericUpDownLevel.Value / 100).ToString().Replace(",", ".") + "&time=" + numericUpDownTime.Value.ToString() + "&onoff=1");
        }
 
        private void buttonChangeColor_Click(object sender, EventArgs e)
        {
            string color = labelColor.Text.Replace("#", "");
            string result = OsramController.SenCommand(textBoxToken.Text, "device/set?idx=" + textBoxDeviceID.Text + "&time=" + numericUpDownTime.Value.ToString() + "&color="+labelColor.Text.Replace("#",""));
        }
 
        private void buttonChangeLevel_Click(object sender, EventArgs e)
        {
            string result = OsramController.SenCommand(textBoxToken.Text, "device/set?idx=" + textBoxDeviceID.Text + "&level=" + (numericUpDownLevel.Value / 100).ToString().Replace(",", ".") + "&time=" + numericUpDownTime.Value.ToString());
        }
 
        private void buttonChangeTemperature_Click(object sender, EventArgs e)
        {
            string result = OsramController.SenCommand(textBoxToken.Text, "device/set?idx=" + textBoxDeviceID.Text + "&time=" + numericUpDownTime.Value.ToString() + "&ctemp="+numericUpDownTemperature.Value.ToString());
 
        }

Philips HUE

FAQ

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 sur les ampoules Philips Hue ?

Non. D'après ce que j'ai pu lire, Philipps ne souhaite pas mettre en place cette fonctionnalité pour des questions de sécurité. En cas d'intervention d'un service d'urgence, l'allumage par défaut de l'ampoule doit être au maximum.

OSRAM a intégré cette possibilité sur sa gamme ligthify avec un simple message d'avertissement indiquant qu'il n'est pas conseillé d'avoir une luminosité inférieure à 20%

ampoules_connectees_-_philips_hue_et_osram_ligthify.txt · Dernière modification: 2016/11/12 00:35 par 88.164.131.165