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)); }
static void Main(string[] args) { IToggleable light = new DimmableLight(); ISwitch button = new TimedSwitch(new ToggleCommand(light)); while (true) { string input = Console.ReadLine(); if (input.ToLower() == string.Empty) { button.Click(); } else { break; } } }
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)); }