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); }
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); }
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); }
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); }
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); } }