Skip to content
Snippets Groups Projects
Commit f50af00f authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Merge branch 'master' into 'master'

Quellcode angefangen zu dokumentieren

See merge request wetterstation/frontend!53
parents 506026b0 b256298f
No related branches found
No related tags found
No related merge requests found
...@@ -15,16 +15,25 @@ namespace Wetterstation ...@@ -15,16 +15,25 @@ namespace Wetterstation
{ {
//Variable fuer den Debugmodues //Variable fuer den Debugmodues
private bool debug = false; private bool debug = false;
private MqttClient myClient; private MqttClient myClient;
//Objekt für die Settings erstellen
SettingsModel WeatherstationSettings = new SettingsModel(); SettingsModel WeatherstationSettings = new SettingsModel();
String graphLastTimestamp = null; String graphLastTimestamp = null;
//Sensorobjekte erstellen (fuer jede Messtelle und fuer Openweathermap)
Sensor node1In = new Sensor(); Sensor node1In = new Sensor();
Sensor node1Out = new Sensor(); Sensor node1Out = new Sensor();
Sensor owm = new Sensor(); Sensor owm = new Sensor();
public Hintergrund() public Hintergrund()
{ {
InitializeComponent(); InitializeComponent();
//Settings aus der Datenbank laden
WeatherstationSettings = SqliteDataAccess.LoadWeatherstationSettings(); WeatherstationSettings = SqliteDataAccess.LoadWeatherstationSettings();
lbCity.Text = WeatherstationSettings.city; lbCity.Text = WeatherstationSettings.city;
...@@ -37,6 +46,8 @@ namespace Wetterstation ...@@ -37,6 +46,8 @@ namespace Wetterstation
mqttStart(); mqttStart();
updateChart(); updateChart();
} }
//Historiediagramm auf den neuesten Stand bringen
private void updateChart() private void updateChart()
{ {
cartesianChart1.Series = new SeriesCollection cartesianChart1.Series = new SeriesCollection
...@@ -116,6 +127,8 @@ namespace Wetterstation ...@@ -116,6 +127,8 @@ namespace Wetterstation
//modifying any series values will also animate and update the chart //modifying any series values will also animate and update the chart
} }
//Uhreit und Datum bestimmen und anzeigen
private void t_DateTime(object sender, EventArgs e) private void t_DateTime(object sender, EventArgs e)
{ {
lbUhr.Text = DateTime.Now.ToLongTimeString(); lbUhr.Text = DateTime.Now.ToLongTimeString();
...@@ -190,6 +203,7 @@ namespace Wetterstation ...@@ -190,6 +203,7 @@ namespace Wetterstation
if (graphLastTimestamp == null) if (graphLastTimestamp == null)
{ {
//Json String aufdroeseln und Werte rotierend abspeichern
int i = 0; int i = 0;
foreach (var result in weatherData["results"][0]["series"][0]["values"]) foreach (var result in weatherData["results"][0]["series"][0]["values"])
{ {
...@@ -211,6 +225,7 @@ namespace Wetterstation ...@@ -211,6 +225,7 @@ namespace Wetterstation
} }
else else
{ {
//Prüfen ob sich Timestamp geändert hat
if (graphLastTimestamp != weatherData["results"][0]["series"][0]["values"][96][0].ToString()) if (graphLastTimestamp != weatherData["results"][0]["series"][0]["values"][96][0].ToString())
{ {
cartesianChart1.Series[0].Values.RemoveAt(0); cartesianChart1.Series[0].Values.RemoveAt(0);
...@@ -218,15 +233,17 @@ namespace Wetterstation ...@@ -218,15 +233,17 @@ namespace Wetterstation
cartesianChart1.Series[2].Values.RemoveAt(0); cartesianChart1.Series[2].Values.RemoveAt(0);
cartesianChart1.Series[3].Values.RemoveAt(0); cartesianChart1.Series[3].Values.RemoveAt(0);
if (weatherData["results"][0]["series"][0]["values"][96][2] == null) temp = 0; //prüfen ob Daten geliefert wurden. Wenn icht Wert auf 0 ansonsten auf gelieferten Wert
if (weatherData["results"][0]["series"][0]["values"][96][1] == null) temp = 0;
else temp = weatherData["results"][0]["series"][0]["values"][96][1]; else temp = weatherData["results"][0]["series"][0]["values"][96][1];
if (weatherData["results"][0]["series"][0]["values"][96][1] == null) humidity = 0; if (weatherData["results"][0]["series"][0]["values"][96][2] == null) humidity = 0;
else humidity = weatherData["results"][0]["series"][0]["values"][96][2]; else humidity = weatherData["results"][0]["series"][0]["values"][96][2];
if (weatherData["results"][0]["series"][0]["values"][96][3] == null) pressure = 0; if (weatherData["results"][0]["series"][0]["values"][96][3] == null) pressure = 0;
else pressure = weatherData["results"][0]["series"][0]["values"][96][3]; else pressure = weatherData["results"][0]["series"][0]["values"][96][3];
if (weatherData["results"][0]["series"][0]["values"][96][4] == null) windSpeed = 0; if (weatherData["results"][0]["series"][0]["values"][96][4] == null) windSpeed = 0;
else windSpeed = weatherData["results"][0]["series"][0]["values"][96][4]; else windSpeed = weatherData["results"][0]["series"][0]["values"][96][4];
//Container mit Werten fuellen
cartesianChart1.Series[0].Values.Add(Math.Round(temp, 1)); cartesianChart1.Series[0].Values.Add(Math.Round(temp, 1));
cartesianChart1.Series[1].Values.Add(humidity); cartesianChart1.Series[1].Values.Add(humidity);
cartesianChart1.Series[2].Values.Add(pressure); cartesianChart1.Series[2].Values.Add(pressure);
...@@ -243,13 +260,17 @@ namespace Wetterstation ...@@ -243,13 +260,17 @@ namespace Wetterstation
Console.WriteLine(message); Console.WriteLine(message);
try try
{ {
//JSON Daten aufdroesseln
dynamic weatherData = JsonConvert.DeserializeObject(message.ToString()); dynamic weatherData = JsonConvert.DeserializeObject(message.ToString());
//Wenn keine Daten von den Sensoren vorliegen nimm die Werte von Openweathermap
if (!node1Out.temperature) if (!node1Out.temperature)
{ {
lbAussenTemp.Invoke(new Action(() => { lbAussenTemp.Text = weatherData.temp + " °C"; })); lbAussenTemp.Invoke(new Action(() => { lbAussenTemp.Text = weatherData.temp + " °C"; }));
lbTempOutMin.Invoke(new Action(() => { lbTempOutMin.Text = weatherData.tempMin + " °C"; })); lbTempOutMin.Invoke(new Action(() => { lbTempOutMin.Text = weatherData.tempMin + " °C"; }));
lbTempOutMax.Invoke(new Action(() => { lbTempOutMax.Text = weatherData.tempMax + " °C"; })); lbTempOutMax.Invoke(new Action(() => { lbTempOutMax.Text = weatherData.tempMax + " °C"; }));
owm.Temperatures = weatherData.temp; owm.Temperatures = weatherData.temp;
//Tendenzpfeil entsprechend setzen u.o. ausblenden
if (owm.tempTendenz() == -1) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; })); if (owm.tempTendenz() == -1) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; }));
else pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = true; })); else pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = true; }));
pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.tempTendenz()); })); pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.tempTendenz()); }));
......
...@@ -10,6 +10,7 @@ namespace Wetterstation ...@@ -10,6 +10,7 @@ namespace Wetterstation
{ {
public static SQLiteConnection _dbConnection; public static SQLiteConnection _dbConnection;
//Settings aus der Datenbank auslesen
public static SettingsModel LoadWeatherstationSettings() public static SettingsModel LoadWeatherstationSettings()
{ {
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
...@@ -19,6 +20,7 @@ namespace Wetterstation ...@@ -19,6 +20,7 @@ namespace Wetterstation
} }
} }
//Settings in der Datenbank abspeichern
public static void SaveWeatherstationSettings(SettingsModel mqttSettings) public static void SaveWeatherstationSettings(SettingsModel mqttSettings)
{ {
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment