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