Change rain message to be sum of last hour

This commit is contained in:
2020-07-02 10:31:41 -04:00
parent c1bee79a3d
commit a8ac2a884b
4 changed files with 21 additions and 1 deletions

View File

@@ -109,6 +109,17 @@ namespace ChrisKaczor.HomeMonitor.Weather.Service.Data
return await connection.QueryAsync<WeatherValue>(query, new { Start = start, End = end });
}
public async Task<decimal> GetReadingValueSum(WeatherValueType weatherValueType, DateTimeOffset start, DateTimeOffset end)
{
await using var connection = CreateConnection();
var query = ResourceReader.GetString("ChrisKaczor.HomeMonitor.Weather.Service.Data.Resources.GetReadingValueSum.sql");
query = query.Replace("@Value", weatherValueType.ToString());
return await connection.ExecuteScalarAsync<decimal>(query, new { Start = start, End = end });
}
public async Task<IEnumerable<WeatherValueGrouped>> GetReadingValueHistoryGrouped(WeatherValueType weatherValueType, DateTimeOffset start, DateTimeOffset end, int bucketMinutes)
{
await using var connection = CreateConnection();

View File

@@ -0,0 +1,3 @@
SELECT SUM(@Value)
FROM Reading
WHERE Timestamp BETWEEN @Start AND @End

View File

@@ -8,9 +8,11 @@ using Newtonsoft.Json;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using ChrisKaczor.HomeMonitor.Weather.Service.Models;
namespace ChrisKaczor.HomeMonitor.Weather.Service
{
@@ -95,6 +97,8 @@ namespace ChrisKaczor.HomeMonitor.Weather.Service
_database.StoreWeatherData(weatherMessage);
weatherMessage.Rain = _database.GetReadingValueSum(WeatherValueType.Rain, weatherMessage.Timestamp.AddHours(1), weatherMessage.Timestamp).Result;
if (_hubConnection == null)
return;
@@ -103,7 +107,7 @@ namespace ChrisKaczor.HomeMonitor.Weather.Service
if (_hubConnection.State == HubConnectionState.Disconnected)
_hubConnection.StartAsync().Wait();
_hubConnection.InvokeAsync("SendLatestReading", message).Wait();
_hubConnection.InvokeAsync("SendLatestReading", JsonConvert.SerializeObject(weatherMessage)).Wait();
}
catch (Exception exception)
{

View File

@@ -13,6 +13,7 @@
<None Remove="Data\Resources\GetReadingHistoryGrouped.sql" />
<None Remove="Data\Resources\GetReadingValueHistory.sql" />
<None Remove="Data\Resources\GetReadingValueHistoryGrouped.sql" />
<None Remove="Data\Resources\GetReadingValueSum.sql" />
<None Remove="Data\Resources\GetRecentReading.sql" />
<None Remove="Data\Resources\GetWindHistoryGrouped.sql" />
<None Remove="Data\Resources\Schema.sql" />
@@ -21,6 +22,7 @@
<ItemGroup>
<EmbeddedResource Include="Data\Resources\GetReadingHistory.sql" />
<EmbeddedResource Include="Data\Resources\GetReadingHistoryGrouped.sql" />
<EmbeddedResource Include="Data\Resources\GetReadingValueSum.sql" />
<EmbeddedResource Include="Data\Resources\GetReadingValueHistoryGrouped.sql" />
<EmbeddedResource Include="Data\Resources\GetReadingValueHistory.sql" />
<EmbeddedResource Include="Data\Resources\GetRecentReading.sql" />