Ejemplo n.º 1
0
        /// <summary>
        /// Pulls all the groups/rooms from the bridge
        /// </summary>
        public void ProcRooms(String jsondata)
        {
            try
            {
                JObject jData = JObject.Parse(jsondata);
                HueBridge.HueGroups.Clear();
                foreach (var group in jData)
                {
                    string   load;
                    JArray   LoadList;
                    string[] loads;
                    string   id   = group.Key;
                    string   name = (string)jData[group.Key]["name"];
                    if (jData[group.Key]["lights"].HasValues)
                    {
                        load     = (string)jData[group.Key]["lights"][0];
                        LoadList = (JArray)jData[group.Key]["lights"];
                        loads    = LoadList.ToObject <string[]>();
                    }
                    else
                    {
                        load  = "0";
                        loads = null;
                    }

                    string type  = (string)jData[group.Key]["type"];
                    bool   on    = (bool)jData[group.Key]["action"]["on"];
                    uint   bri   = (uint)jData[group.Key]["action"]["bri"];
                    string alert = (string)jData[group.Key]["action"]["alert"];
                    HueBridge.HueGroups.Add(new HueGroup(id, name, type, on, bri, alert, load, loads));
                }
                GroupNum = (ushort)HueBridge.HueGroups.Count;
                CrestronConsole.PrintLine("{0} Rooms discovered", GroupNum);
                HueBridge.GetBridgeInfo("scenes");
            }
            catch (Exception e)
            {
                CrestronConsole.PrintLine("Error getting rooms: {0}", e);
            }
        }