From 59f151aa6e07089eda7493b4821e622b1051a65c Mon Sep 17 00:00:00 2001 From: "de@itstall.de" <de@itstall.de> Date: Tue, 4 Feb 2020 20:24:08 +0100 Subject: [PATCH] Tendenz working --- Wetterstation/Form1.cs | 36 ++++++++++++++++++++---------------- Wetterstation/Sensor.cs | 6 +++--- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/Wetterstation/Form1.cs b/Wetterstation/Form1.cs index 3b6138b..99ba916 100644 --- a/Wetterstation/Form1.cs +++ b/Wetterstation/Form1.cs @@ -169,7 +169,6 @@ namespace Wetterstation } else if (e.Topic.Equals(WeatherstationSettings.mqtt_topic_frontend + WeatherstationSettings.frontendId + "/graph")) { - Console.WriteLine("e.Topic Graph " + e.Topic); Console.WriteLine(WeatherstationSettings.mqtt_topic_frontend + WeatherstationSettings.frontendId + "/graph"); this.updateFormChart(message); } @@ -242,10 +241,10 @@ namespace Wetterstation dynamic weatherData = JsonConvert.DeserializeObject(message.ToString()); if (!node1Out.temperature) { - lbAussenTemp.Invoke(new Action(() => { lbAussenTemp.Text = Math.Round((double)weatherData.temp, 1) + " °C"; })); + lbAussenTemp.Invoke(new Action(() => { lbAussenTemp.Text = weatherData.temp + " °C"; })); lbTempOutMin.Invoke(new Action(() => { lbTempOutMin.Text = weatherData.tempMin + " °C"; })); lbTempOutMax.Invoke(new Action(() => { lbTempOutMax.Text = weatherData.tempMax + " °C"; })); - owm.Temperatures = Math.Round((double)weatherData.temp, 1); + owm.Temperatures = weatherData.temp; pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.tempTendenz()); })); } if(!node1Out.humidity) @@ -264,7 +263,7 @@ namespace Wetterstation if (!node1Out.pressure && !node1In.pressure) { lbLuftdruck.Invoke(new Action(() => { lbLuftdruck.Text = weatherData.pressure + " mbar"; })); - owm.Pressures = weatherData.pressure; + owm.Pressures = (double)weatherData.pressure; pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.pressureTendenz()); })); } if(!node1Out.rain) @@ -278,7 +277,9 @@ namespace Wetterstation } lbSnow3h.Invoke(new Action(() => { lbSnow3h.Text = weatherData.snow3h + " mm/h"; })); } - catch (Exception ignored) { } + catch (Exception ignored) { + Console.WriteLine(ignored.Message); + } } private Bitmap RotateImage(Bitmap bmp, float angle) { @@ -335,6 +336,7 @@ namespace Wetterstation Console.WriteLine(message); try { + dynamic weatherData = JsonConvert.DeserializeObject(message.ToString()); if (weatherData[0]["client"] == WeatherstationSettings.node1Id && weatherData[0]["sensor"] == WeatherstationSettings.node1Innen) { @@ -346,48 +348,50 @@ namespace Wetterstation node1Out.host = weatherData[0]["client"]; node1Out.name = weatherData[0]["sensor"]; } - if (weatherData[0]["client"] == WeatherstationSettings.node1Id && weatherData[0]["sensor"] == WeatherstationSettings.node1Innen && weatherData[0]["temperature"] != null) + if (weatherData[0]["client"] == node1In.host && weatherData[0]["sensor"] == node1In.name && weatherData[0]["temperature"] != null) { node1In.temperature = true; if ((double)weatherData[0]["temperature"] > node1In.tempMax) node1In.tempMax = weatherData[0]["temperature"]; if ((double)weatherData[0]["temperature"] < node1In.tempMin) node1In.tempMin = weatherData[0]["temperature"]; - lbInnenTemp.Invoke(new Action(() => { lbInnenTemp.Text = Math.Round((double)weatherData[0]["temperature"], 1) + " °C"; })); + lbInnenTemp.Invoke(new Action(() => { lbInnenTemp.Text = weatherData[0]["temperature"] + " °C"; })); lbTempInMin.Invoke(new Action(() => { lbTempInMin.Text = node1In.tempMin + " °C"; })); lbTempInMax.Invoke(new Action(() => { lbTempInMax.Text = node1In.tempMax + " °C"; })); - node1In.Temperatures = weatherData[0]["temperature"]; + node1In.Temperatures = (double)weatherData[0]["temperature"]; pbTendenzTempIn.Invoke(new Action(() => { pbTendenzTempIn.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1In.tempTendenz()); })); } - if (weatherData[0]["client"] == WeatherstationSettings.node1Id && weatherData[0]["sensor"] == WeatherstationSettings.node1Innen && weatherData[0]["humidity"] != null) + if (weatherData[0]["client"] == node1In.host && weatherData[0]["sensor"] == node1In.name && weatherData[0]["humidity"] != null) { node1In.humidity = true; lbLuftFeuchtInnen.Invoke(new Action(() => { lbLuftFeuchtInnen.Text = weatherData[0]["humidity"] + " %"; })); } - if (weatherData[0]["client"] == WeatherstationSettings.node1Id && weatherData[0]["sensor"] == WeatherstationSettings.node1Innen && weatherData[0]["pressure"] != null) + if (weatherData[0]["client"] == node1In.host && weatherData[0]["sensor"] == node1In.name && weatherData[0]["pressure"] != null) { node1In.pressure = true; lbLuftdruck.Invoke(new Action(() => { lbLuftdruck.Text = weatherData[0]["pressure"] + " hPa"; })); - node1In.Pressures = weatherData[0]["pressure"]; + node1In.Pressures = (double)weatherData[0]["pressure"]; pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1In.pressureTendenz()); })); } - if (weatherData[0]["client"] == WeatherstationSettings.node1Id && weatherData[0]["sensor"] == WeatherstationSettings.node1Aussen && weatherData[0]["temperature"] != null) + if (weatherData[0]["client"] == node1Out.host && weatherData[0]["sensor"] == node1Out.name && weatherData[0]["temperature"] != null) { node1Out.temperature = true; if ((double)weatherData[0]["temperature"] > node1Out.tempMax) node1Out.tempMax = weatherData[0]["temperature"]; if ((double)weatherData[0]["temperature"] < node1Out.tempMin) node1Out.tempMin = weatherData[0]["temperature"]; - lbAussenTemp.Invoke(new Action(() => { lbAussenTemp.Text = Math.Round((double)weatherData[0]["temperature"], 1) + " °C"; })); + lbAussenTemp.Invoke(new Action(() => { lbAussenTemp.Text = weatherData[0]["temperature"] + " °C"; })); lbTempOutMin.Invoke(new Action(() => { lbTempOutMin.Text = node1Out.tempMin + " °C"; })); lbTempOutMax.Invoke(new Action(() => { lbTempOutMax.Text = node1Out.tempMax + " °C"; })); - node1Out.Temperatures = weatherData[0]["temperature"]; + node1Out.Temperatures = (double)weatherData[0]["temperature"]; pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1Out.tempTendenz()); })); } - if (weatherData[0]["client"] == WeatherstationSettings.node1Id && weatherData[0]["sensor"] == WeatherstationSettings.node1Aussen && weatherData[0]["humidity"] != null) + if (weatherData[0]["client"] == node1Out.host && weatherData[0]["sensor"] == node1Out.name && weatherData[0]["humidity"] != null) { node1Out.humidity = true; lbLuftfeuchtAussen.Invoke(new Action(() => { lbLuftfeuchtAussen.Text = weatherData[0]["humidity"] + " %"; })); } } - catch (Exception ignored) { } + catch (Exception ignored) { + Console.WriteLine(ignored.Message); + } } public void updateFormComplete() { diff --git a/Wetterstation/Sensor.cs b/Wetterstation/Sensor.cs index 54eb722..8ca7286 100644 --- a/Wetterstation/Sensor.cs +++ b/Wetterstation/Sensor.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; namespace Wetterstation { - class Sensor + public class Sensor { public String host { get; set; } public String name { get; set; } @@ -17,8 +17,8 @@ namespace Wetterstation public bool snow { get; set; } public double tempMin { get; set; } public double tempMax { get; set; } - private List<double> _temperatures; - private List<double> _pressures; + private List<double> _temperatures = new List<double>(); + private List<double> _pressures = new List<double>(); public double Temperatures { set -- GitLab