Fix models in environment service and add more SignalR messaging

This commit is contained in:
2024-03-04 16:32:33 -05:00
parent a8e60c2e87
commit 2ef541d72f
7 changed files with 96 additions and 7 deletions

View File

@@ -16,17 +16,24 @@ public class DeviceMessage
[JsonPropertyName("timestamp")]
public required DateTimeOffset Timestamp { get; set; }
[JsonPropertyName("air_quality_index")]
public decimal AirQualityIndex => Readings.AirQualityIndex;
[JsonPropertyName("color_temperature")]
public decimal ColorTemperature => Readings.ColorTemperature;
[JsonPropertyName("gas_resistance")]
public decimal GasResistance => Readings.GasResistance;
[JsonPropertyName("humidity")]
public decimal Humidity => Readings.Humidity;
[JsonPropertyName("luminance")]
public decimal Luminance => Readings.Luminance;
[JsonPropertyName("pressure")]
public decimal Pressure => Readings.Pressure;
[JsonPropertyName("temperature")]
public decimal Temperature => Readings.Temperature;
}

View File

@@ -1,24 +1,55 @@
namespace ChrisKaczor.HomeMonitor.Environment.Service.Models;
using ChrisKaczor.HomeMonitor.Environment.Service.Models.Indoor;
using System.Text.Json.Serialization;
namespace ChrisKaczor.HomeMonitor.Environment.Service.Models;
public class Readings
{
public Readings()
{
}
public Readings(DeviceMessage message)
{
Time = message.Timestamp;
Name = message.Name;
Model = message.Model;
AirQualityIndex = message.AirQualityIndex;
ColorTemperature = message.ColorTemperature;
GasResistance = message.GasResistance;
Humidity = message.Humidity;
Luminance = message.Luminance;
Pressure = message.Pressure;
Temperature = message.Temperature;
}
[JsonPropertyName("time")]
public DateTimeOffset Time { get; set; }
[JsonPropertyName("name")]
public string? Name { get; set; }
[JsonPropertyName("model")]
public string? Model { get; set; }
[JsonPropertyName("airQualityIndex")]
public decimal AirQualityIndex { get; set; }
[JsonPropertyName("colorTemperature")]
public decimal ColorTemperature { get; set; }
[JsonPropertyName("gasResistance")]
public decimal GasResistance { get; set; }
[JsonPropertyName("humidity")]
public decimal Humidity { get; set; }
[JsonPropertyName("luminance")]
public decimal Luminance { get; set; }
[JsonPropertyName("pressure")]
public decimal Pressure { get; set; }
[JsonPropertyName("temperature")]
public decimal Temperature { get; set; }
}

View File

@@ -1,25 +1,35 @@
using JetBrains.Annotations;
using System.Text.Json.Serialization;
namespace ChrisKaczor.HomeMonitor.Environment.Service.Models;
[PublicAPI]
public class ReadingsGrouped
{
[JsonPropertyName("bucket")]
public DateTimeOffset Bucket { get; set; }
[JsonPropertyName("name")]
public string? Name { get; set; }
[JsonPropertyName("averageTemperature")]
public decimal AverageTemperature { get; set; }
[JsonPropertyName("averagePressure")]
public decimal AveragePressure { get; set; }
[JsonPropertyName("averageHumidity")]
public decimal AverageHumidity { get; set; }
[JsonPropertyName("averageLuminance")]
public decimal AverageLuminance { get; set; }
[JsonPropertyName("averageGasResistance")]
public decimal AverageGasResistance { get; set; }
[JsonPropertyName("averageColorTemperature")]
public decimal AverageColorTemperature { get; set; }
[JsonPropertyName("averageAirQualityIndex")]
public decimal AverageAirQualityIndex { get; set; }
}