public async Task GetLight() { var light = await _sut.GetLightAsync(_ipAddress).FirstAsync(); Assert.NotNull(light); Assert.InRange(light.brightness, 0, 100); Assert.InRange(light.on, 0, 1); Assert.InRange(light.temperature, 140, 350); }
public async Task <(bool on, double brightness, short kelvins)> GetLightSettingsAsync(IPAddress ip, CancellationToken?cancellationToken = default) { var light = await _client.GetLightAsync(ip, cancellationToken) .FirstAsync(cancellationToken ?? CancellationToken.None); var o = light.on == 1; var range = new Range(0, 100); var b = range.ReduceValueToFraction(light.brightness); var k = (short)((int)light.temperature).ConvertFromElgatoToKelvin(); return(o, b, k); }