Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
 /// <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)));
 }
Esempio n. 3
0
 /// <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);