Status data returned from the bridge
示例#1
0
        internal Bridge(BridgeState bridge)
        {
            if (bridge == null)
            {
                throw new ArgumentNullException(nameof(bridge));
            }

            Config = bridge.config;

            foreach (var light in bridge.Lights)
            {
                light.Value.Id = light.Key;
            }
            Lights = bridge.Lights.Select(l => l.Value).ToList();

            foreach (var group in bridge.Groups)
            {
                group.Value.Id = group.Key;
            }
            Groups = bridge.Groups.Select(l => l.Value).ToList();

            //Fix whitelist IDs
            if (bridge.config != null)
            {
                foreach (var whitelist in bridge.config.WhiteList ?? new Dictionary <string, WhiteList>())
                {
                    whitelist.Value.Id = whitelist.Key;
                }

                WhiteList = bridge.config.WhiteList.Select(l => l.Value).ToList();
            }
        }
        /// <summary>
        /// Get bridge info
        /// </summary>
        /// <returns></returns>
        public async Task <Bridge> GetBridgeAsync()
        {
            CheckInitialized();

            HttpClient client       = HueClient.GetHttpClient();
            var        stringResult = await client.GetStringAsync(new Uri(ApiBase)).ConfigureAwait(false);

            BridgeState jsonResult = DeserializeResult <BridgeState>(stringResult);

            return(new Bridge(jsonResult));
        }
示例#3
0
        internal Bridge(BridgeState bridge)
        {
            if (bridge == null)
            {
                throw new ArgumentNullException(nameof(bridge));
            }

            Config = bridge.Config;

            foreach (var light in bridge.Lights)
            {
                light.Value.Id = light.Key;
            }
            Lights = bridge.Lights.Select(l => l.Value).ToList();

            foreach (var sensor in bridge.Sensors)
            {
                sensor.Value.Id = sensor.Key;
            }
            Sensors = bridge.Sensors.Select(s => s.Value).ToList();

            foreach (var group in bridge.Groups)
            {
                group.Value.Id = group.Key;
            }
            Groups = bridge.Groups.Select(l => l.Value).ToList();

            foreach (var scene in bridge.Scenes)
            {
                scene.Value.Id = scene.Key;
            }
            Scenes = bridge.Scenes.Select(s => s.Value).ToList();

            foreach (var rule in bridge.Rules)
            {
                rule.Value.Id = rule.Key;
            }
            Rules = bridge.Rules.Select(r => r.Value).ToList();

            foreach (var schedule in bridge.Schedules)
            {
                schedule.Value.Id = schedule.Key;
            }
            Schedules = bridge.Schedules.Select(s => s.Value).ToList();

            foreach (var whitelist in bridge.Config.WhiteList)
            {
                whitelist.Value.Id = whitelist.Key;
            }
            WhiteList = bridge.Config.WhiteList.Select(l => l.Value).ToList();
        }
示例#4
0
    internal Bridge(BridgeState bridge)
    {
      if (bridge == null)
        throw new ArgumentNullException("bridge");

      Config = bridge.config;

      foreach (var light in bridge.lights)
        light.Value.Id = light.Key;
      Lights = bridge.lights.Select(l => l.Value).ToList();

      foreach (var whitelist in bridge.config.WhiteList)
        whitelist.Value.Id = whitelist.Key;
      WhiteList = bridge.config.WhiteList.Select(l => l.Value).ToList();
    }
示例#5
0
        internal Bridge(BridgeState bridge)
        {
            if (bridge == null)
            {
                throw new ArgumentNullException("bridge");
            }

            Config = bridge.config;

            foreach (var light in bridge.lights)
            {
                light.Value.Id = light.Key;
            }
            Lights = bridge.lights.Select(l => l.Value).ToList();

            foreach (var whitelist in bridge.config.WhiteList)
            {
                whitelist.Value.Id = whitelist.Key;
            }
            WhiteList = bridge.config.WhiteList.Select(l => l.Value).ToList();
        }