public static async Task UpdateLightBulbColor(string philipsHueBridgeIPAddress, string philipsHueBridgeUsername, int hue) { var isBridgeReachable = IsBridgeReachable(philipsHueBridgeIPAddress); if (!isBridgeReachable) { throw new Exception(GetBridgeNotFoundErrorMessage()); } var hueRequest = new LightModel { On = true, Hue = hue, Saturation = hue >= 0 ? 255 : 0, Brightness = 255 }; var numberOfLights = await GetNumberOfLights(philipsHueBridgeIPAddress, philipsHueBridgeUsername).ConfigureAwait(false); var lightAPIPutList = new List <Task>(); for (int lightNumber = 1; lightNumber <= numberOfLights; lightNumber++) { lightAPIPutList.Add(PutObjectToAPI($"http://{philipsHueBridgeIPAddress}/api/{philipsHueBridgeUsername}/lights/{lightNumber}/state", hueRequest)); } await Task.WhenAll(lightAPIPutList).ConfigureAwait(false); }
public async Task UpdateLightBulbColor(string philipsHueBridgeUsername, int hue) { var isBridgeReachable = await IsBridgeReachable().ConfigureAwait(false); if (!isBridgeReachable) { throw new Exception(GetBridgeNotFoundErrorMessage()); } var hueRequest = new LightModel(true, 255, hue, hue >= 0 ? 255 : 0); var numberOfLights = await GetNumberOfLights(philipsHueBridgeUsername).ConfigureAwait(false); var lightAPIPutList = new List <Task>(); for (int lightNumber = 1; lightNumber <= numberOfLights; lightNumber++) { lightAPIPutList.Add(_philipsHueBridgeApiClient.UpdateLightBulbColor(hueRequest, philipsHueBridgeUsername, lightNumber)); } await Task.WhenAll(lightAPIPutList).ConfigureAwait(false); }