Пример #1
0
    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);
    }
Пример #2
0
    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);
    }