public async static Task Run([TimerTrigger("0 0 12 * * *")] TimerInfo myTimer, TraceWriter log)
 {
     var settings = new LightSettings
     {
         Brightness = 0.2,
     };
     await LightHelper.UpdateLightAsync(settings, "Failed to increase brightness", log);
 }
예제 #2
0
 public async static Task Run([TimerTrigger("0 0 15 * * *")] TimerInfo myTimer, TraceWriter log)
 {
     var settings = new LightSettings
     {
         Power = "off"
     };
     await LightHelper.UpdateLightAsync(settings, "Failed to turn off light", log);
 }
예제 #3
0
        public async Task <bool> UpdateLightAsync(string lightID, LightSettings settings)
        {
            var json          = JsonConvert.SerializeObject(settings, _settings);
            var stringContent = new StringContent(json, Encoding.UTF8, "application/json");

            var putResponse = await _client.PutAsync($"lights/id:{lightID}/state", stringContent);

            return(putResponse.IsSuccessStatusCode);
        }
예제 #4
0
 public async static Task Run([TimerTrigger("0 15 11 * * *")] TimerInfo myTimer, TraceWriter log)
 {
     var settings = new LightSettings
     {
         Brightness = 0.02,
         Power      = "on"
     };
     await LightHelper.UpdateLightAsync(settings, "Failed to turn on light", log);
 }
예제 #5
0
        public static async Task UpdateLightAsync(LightSettings settings, string failureMessage, TraceWriter log)
        {
            var lightID = Environment.GetEnvironmentVariable("LightId", EnvironmentVariableTarget.Process);

            var provider     = new LifxProvider();
            var lightUpdated = await provider.UpdateLightAsync(lightID, settings);

            if (lightUpdated)
            {
                log.Info("Successfully updated light.");
            }
            else
            {
                log.Info("Failed to update light.");
                var emailProvider = new EmailProvider();
                var emailSent     = await emailProvider.SendEmailAsync(failureMessage, "For more details check the Azure function portal.");

                var logMsg = emailSent ? "Message Sent" : "Failed to send message";
                log.Info(logMsg);
            }
        }