mirror of
https://github.com/ckaczor/HomeMonitor.git
synced 2026-02-06 01:25:38 -05:00
Add history endpoint and do some cleanup
This commit is contained in:
@@ -47,7 +47,7 @@ public class Database(IConfiguration configuration)
|
||||
{
|
||||
await using var connection = CreateConnection();
|
||||
|
||||
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Environment.Service.Data.Queries.CreateReading.sql");
|
||||
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Environment.Service.Data.Queries.CreateReading.psql");
|
||||
|
||||
await connection.QueryAsync(query, message);
|
||||
}
|
||||
@@ -56,8 +56,17 @@ public class Database(IConfiguration configuration)
|
||||
{
|
||||
await using var connection = CreateConnection();
|
||||
|
||||
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Environment.Service.Data.Queries.GetRecentReadings.sql");
|
||||
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Environment.Service.Data.Queries.GetRecentReadings.psql");
|
||||
|
||||
return await connection.QueryAsync<Readings>(query).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ReadingsGrouped>> GetReadingsHistoryGrouped(DateTimeOffset start, DateTimeOffset end, int bucketMinutes)
|
||||
{
|
||||
await using var connection = CreateConnection();
|
||||
|
||||
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Environment.Service.Data.Queries.GetReadingsHistoryGrouped.psql");
|
||||
|
||||
return await connection.QueryAsync<ReadingsGrouped>(query, new { Start = start, End = end, BucketMinutes = bucketMinutes }).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
SELECT
|
||||
time_bucket('15 minute', time) AS bucket,
|
||||
name,
|
||||
ROUND(avg(temperature), 2) AS averageTemperature,
|
||||
ROUND(avg(pressure), 2) AS averagePressure,
|
||||
ROUND(avg(humidity), 2) AS averageHumidity,
|
||||
ROUND(avg(luminance), 2) AS averageLuminance,
|
||||
ROUND(avg(gas_resistance), 2) AS averageGasResistance,
|
||||
ROUND(avg(color_temperature), 2) AS averageColorTemperature,
|
||||
ROUND(avg(air_quality_index), 2) AS averageAirQualityIndex
|
||||
FROM
|
||||
reading
|
||||
WHERE
|
||||
time BETWEEN @Start AND @End
|
||||
GROUP BY
|
||||
bucket,
|
||||
name
|
||||
ORDER BY
|
||||
bucket ASC,
|
||||
name;
|
||||
Reference in New Issue
Block a user