/// <summary> /// Sets color and temperature for a bulb and uses a transition time to the provided state /// </summary> /// <param name="bulb"></param> /// <param name="lifxColor"></param> /// <param name="kelvin"></param> /// <param name="transitionDuration"></param> /// <returns></returns> public Task SetColorAsync(LightBulb bulb, LifxColor lifxColor, ushort kelvin, TimeSpan transitionDuration) { if (bulb == null) { throw new ArgumentNullException(nameof(bulb)); } var hsl = Utilities.RgbToHsl(lifxColor); return(SetColorAsync(bulb, hsl[0], hsl[1], hsl[2], kelvin, transitionDuration)); }
/// <summary> /// Sets color and temperature of bulb /// </summary> /// <param name="bulb">The bulb to set</param> /// <param name="color">The LifxColor to set the bulb to</param> /// <param name="duration">An optional transition duration, in milliseconds.</param> /// <returns></returns> public Task SetColorAsync(LightBulb bulb, LifxColor color, int duration = 0) { return(SetColorAsync(bulb, (ushort)color.LifxHue, (ushort)color.LifxSaturation, (ushort)color.LifxBrightness, (ushort)color.K, TimeSpan.FromMilliseconds(duration))); }
/// <summary> /// Sets color and temperature for a bulb /// </summary> /// <param name="bulb"></param> /// <param name="lifxColor"></param> /// <param name="kelvin"></param> /// <returns></returns> public Task SetColorAsync(LightBulb bulb, LifxColor lifxColor, ushort kelvin) => SetColorAsync(bulb, lifxColor, kelvin, TimeSpan.Zero);