private DimmableLight Toggle(IClient client, bool?state)
        {
            Items.Dimmer dimmer   = client.GetDimmer(_id);
            bool         newState = state ?? !dimmer.State;

            dimmer.State = newState;
            return(DimmableLight.Create(dimmer).WithState(newState));
        }
        private DimmableLight OffsetValue(IClient client, int brightnessOffset)
        {
            Items.Dimmer dimmer        = client.GetDimmer(_id);
            int          newBrightness = dimmer.Value + brightnessOffset;

            if (newBrightness > 100)
            {
                newBrightness = 100;
            }
            if (newBrightness < 0)
            {
                newBrightness = 0;
            }
            dimmer.Value = (byte)newBrightness;
            return(DimmableLight.Create(dimmer)
                   .WithState(newBrightness > 0)
                   .WithBrightnessInPercent(newBrightness));
        }
 internal static DimmableLight Create(Items.Dimmer dimmer)
 => new DimmableLight(
     id: dimmer.Index,
     name: dimmer.Name,
     state: dimmer.State,
     brightnessInPercent: dimmer.Value);