Beispiel #1
0
        public async Task ChangeLightColor()
        {
            var all = await localHueClient.GetLights();

            var id = all.Data.Last().Id;

            //Turn red
            var req = new UpdateLight()
                      .TurnOn()
                      .SetColor(new ColorConverters.RGBColor("FF0000"));

            var result = await localHueClient.UpdateLight(id, req);

            await Task.Delay(TimeSpan.FromSeconds(5));

            //Turn blue
            req = new UpdateLight()
                  .SetColor(new ColorConverters.RGBColor("0000FF"));
            result = await localHueClient.UpdateLight(id, req);

            Assert.IsNotNull(result);
            Assert.IsFalse(result.HasErrors);

            Assert.IsTrue(result.Data.Count == 1);
            Assert.AreEqual(id, result.Data.First().Rid);
        }
Beispiel #2
0
        protected override Task HandleLightCommand(UpdateLight lightCommand)
        {
            var gpio = lightPins[lightCommand.Light];

            gpio.Write(lightCommand.DesiredStatus == LightStatus.On ? GpioPinValue.High : GpioPinValue.Low);
            SendTelemetry(new LightUpdated {
                Light = lightCommand.Light, Status = lightCommand.DesiredStatus
            });
            return(Task.CompletedTask);
        }
Beispiel #3
0
        public async Task PutById()
        {
            var all = await localHueClient.GetLights();

            var id = all.Data.Last().Id;

            UpdateLight req = new UpdateLight()
            {
                Alert = new UpdateAlert()
            };
            var result = await localHueClient.UpdateLight(id, req);

            Assert.IsNotNull(result);
            Assert.IsFalse(result.HasErrors);

            Assert.IsTrue(result.Data.Count == 1);
            Assert.AreEqual(id, result.Data.First().Rid);
        }
Beispiel #4
0
        public void ColorTest()
        {
            var request = new UpdateLight().SetColor(new HueApi.ColorConverters.RGBColor("FF0000"));

            Assert.IsNotNull(request);
        }
Beispiel #5
0
 public Task <HuePutResponse> UpdateLight(Guid id, UpdateLight data) => HuePutRequest(ResourceIdUrl(LightUrl, id), data);
Beispiel #6
0
 protected virtual Task HandleLightCommand(UpdateLight lightCommand)
 {
     return(Task.CompletedTask);
 }