コード例 #1
0
 public async Task SetLightsStateAsync(Models.LightObject.StateObject state, params string[] names)
 {
     await foreach (var(id, _) in GetLightsByNamesAsync(names))
     {
         await _client.SetLightStateAsync(id, state);
     }
 }
コード例 #2
0
 public async Task SetGroupsStateAsync(Models.LightObject.StateObject state, params string[] names)
 {
     await foreach (var(_, group) in GetGroupsByNamesAsync(names))
     {
         foreach (var id in group.lights !)
         {
             await _client.SetLightStateAsync(id, state);
         }
     }
 }
コード例 #3
0
        public async Task SetLightStateAsync(string groupName, string lightName, Models.LightObject.StateObject state)
        {
            await foreach (var(_, group) in from kvp in _client.GetGroupsAsync()
                           let @group = kvp.Value
                                        where @group.name?.Equals(groupName, StringComparison.InvariantCultureIgnoreCase) == true
                                        select kvp)
            {
                foreach (var lightId in group.lights !)
                {
                    var light = await _client.GetLightAsync(lightId);

                    if (light.name?.Equals(lightName, StringComparison.InvariantCultureIgnoreCase) != true)
                    {
                        continue;
                    }

                    await _client.SetLightStateAsync(lightId, state);
                }
            }
        }