From fe1a66a6550fa9076d7bbcf339d52853fd648bb2 Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Mon, 14 Oct 2019 20:58:56 -0400 Subject: [PATCH] Update power message sent to hub --- Power/Service/Models/PowerStatus.cs | 11 +++++++++++ Power/Service/PowerReader.cs | 16 +++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 Power/Service/Models/PowerStatus.cs diff --git a/Power/Service/Models/PowerStatus.cs b/Power/Service/Models/PowerStatus.cs new file mode 100644 index 0000000..aa6ae0e --- /dev/null +++ b/Power/Service/Models/PowerStatus.cs @@ -0,0 +1,11 @@ +using JetBrains.Annotations; + +namespace ChrisKaczor.HomeMonitor.Power.Service.Models +{ + [PublicAPI] + public class PowerStatus + { + public long Generation { get; set; } + public long Consumption { get; set; } + } +} diff --git a/Power/Service/PowerReader.cs b/Power/Service/PowerReader.cs index d63f86a..f3bbbac 100644 --- a/Power/Service/PowerReader.cs +++ b/Power/Service/PowerReader.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using RestSharp; using System; +using System.Linq; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -45,8 +46,17 @@ namespace ChrisKaczor.HomeMonitor.Power.Service var sample = JsonSerializer.Deserialize(response.Content); - Console.WriteLine(sample.Channels[2].Type + " " + sample.Channels[2].RealPower); - Console.WriteLine(sample.Channels[3].Type + " " + sample.Channels[3].RealPower); + var generation = sample.Channels.FirstOrDefault(c => c.Type == "GENERATION"); + var consumption = sample.Channels.FirstOrDefault(c => c.Type == "CONSUMPTION"); + + if (generation == null || consumption == null) + return; + + var status = new PowerStatus { Generation = generation.RealPower, Consumption = consumption.RealPower }; + + var json = JsonSerializer.Serialize(status); + + Console.WriteLine(json); if (_hubConnection == null) return; @@ -56,7 +66,7 @@ namespace ChrisKaczor.HomeMonitor.Power.Service if (_hubConnection.State == HubConnectionState.Disconnected) _hubConnection.StartAsync().Wait(); - _hubConnection.InvokeAsync("SendLatestSample", response.Content).Wait(); + _hubConnection.InvokeAsync("SendLatestSample", json).Wait(); } catch (Exception exception) {