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
{
//Variable fuer den Debugmodues
private bool debug = false;
private MqttClient myClient;
//Objekt für die Settings erstellen
SettingsModel WeatherstationSettings = new SettingsModel();
String graphLastTimestamp = null;
//Sensorobjekte erstellen (fuer jede Messtelle und fuer Openweathermap)
Sensor node1In = new Sensor();
Sensor node1Out = new Sensor();
Sensor owm = new Sensor();
public Hintergrund()
{
InitializeComponent();
//Settings aus der Datenbank laden
WeatherstationSettings = SqliteDataAccess.LoadWeatherstationSettings();
lbCity.Text = WeatherstationSettings.city;
......@@ -37,6 +46,8 @@ namespace Wetterstation
mqttStart();
updateChart();
}
//Historiediagramm auf den neuesten Stand bringen
private void updateChart()
{
cartesianChart1.Series = new SeriesCollection
......@@ -116,6 +127,8 @@ namespace Wetterstation
//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)
{
lbUhr.Text = DateTime.Now.ToLongTimeString();
......@@ -190,6 +203,7 @@ namespace Wetterstation
if (graphLastTimestamp == null)
{
//Json String aufdroeseln und Werte rotierend abspeichern
int i = 0;
foreach (var result in weatherData["results"][0]["series"][0]["values"])
{
......@@ -211,6 +225,7 @@ namespace Wetterstation
}
else
{
//Prüfen ob sich Timestamp geändert hat
if (graphLastTimestamp != weatherData["results"][0]["series"][0]["values"][96][0].ToString())
{
cartesianChart1.Series[0].Values.RemoveAt(0);
......@@ -218,15 +233,17 @@ namespace Wetterstation
cartesianChart1.Series[2].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];
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];
if (weatherData["results"][0]["series"][0]["values"][96][3] == null) pressure = 0;
else pressure = weatherData["results"][0]["series"][0]["values"][96][3];
if (weatherData["results"][0]["series"][0]["values"][96][4] == null) windSpeed = 0;
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[1].Values.Add(humidity);
cartesianChart1.Series[2].Values.Add(pressure);
......@@ -243,13 +260,17 @@ namespace Wetterstation
Console.WriteLine(message);
try
{
//JSON Daten aufdroesseln
dynamic weatherData = JsonConvert.DeserializeObject(message.ToString());
//Wenn keine Daten von den Sensoren vorliegen nimm die Werte von Openweathermap
if (!node1Out.temperature)
{
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 = weatherData.temp;
//Tendenzpfeil entsprechend setzen u.o. ausblenden
if (owm.tempTendenz() == -1) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; }));
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()); }));
......
......@@ -10,6 +10,7 @@ namespace Wetterstation
{
public static SQLiteConnection _dbConnection;
//Settings aus der Datenbank auslesen
public static SettingsModel LoadWeatherstationSettings()
{
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
......@@ -19,6 +20,7 @@ namespace Wetterstation
}
}
//Settings in der Datenbank abspeichern
public static void SaveWeatherstationSettings(SettingsModel mqttSettings)
{
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