public async Task ExecuteAsync(CancellationToken cancellationToken = default) { _logger.LogInformation("Triggered turn on automation"); if (IsWithinTimeRange(DateTime.Now)) { _logger.LogInformation("Confirmed within time range"); string motion = EventTypes.BedroomMotion.ToString(); var verifyTime = DateTime.UtcNow.Subtract(aWhile); int recentCount = await _context.EventLogs .CountAsync(e => e.EventId == motion && e.TimeStamp > verifyTime, cancellationToken : cancellationToken); _logger.LogInformation($"Recent motion count : {recentCount} within past {aWhile}"); if (recentCount < 2) { await _actionService.ExecuteActionAsync(ActionService.ActionId.turnOnBedroom, cancellationToken); } } _logger.LogInformation("Finished turn on automation"); }