51 lines
1.6 KiB
Python
Executable file
51 lines
1.6 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
import matplotlib.pyplot as plt
|
|
import sqlite3
|
|
|
|
# Pfad zur Datenbank
|
|
db_path = '/home/divers/datenbank/temperaturen.db'
|
|
|
|
# SQLite-Datenbankverbindung herstellen
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# SQL-Abfrage, um die letzten 10 Istwerte von Tank 1 abzurufen
|
|
cursor.execute("SELECT zeitstempel, temperatur FROM istwert WHERE messstelle = 1 ORDER BY zeitstempel ASC LIMIT 30")
|
|
rows_tank1_istwert = cursor.fetchall()
|
|
datetimes_tank1_istwert = [row[0] for row in rows_tank1_istwert]
|
|
temperaturen_tank1_istwert = [row[1] for row in rows_tank1_istwert]
|
|
|
|
# SQL-Abfrage, um die letzten 10 Istwerte von Tank 2 abzurufen
|
|
cursor.execute("SELECT zeitstempel, temperatur FROM istwert WHERE messstelle = 2 ORDER BY zeitstempel ASC LIMIT 30")
|
|
rows_tank2_istwert = cursor.fetchall()
|
|
datetimes_tank2_istwert = [row[0] for row in rows_tank2_istwert]
|
|
temperaturen_tank2_istwert = [row[1] for row in rows_tank2_istwert]
|
|
|
|
conn.close()
|
|
|
|
# Grafik erstellen
|
|
plt.figure(figsize=(12, 8))
|
|
|
|
# Plot für Istwert (Tank 1)
|
|
plt.plot(datetimes_tank1_istwert, temperaturen_tank1_istwert, label='Istwert Tank 1', color='blue')
|
|
|
|
# Plot für Istwert (Tank 2)
|
|
plt.plot(datetimes_tank2_istwert, temperaturen_tank2_istwert, label='Istwert Tank 2', color='green')
|
|
|
|
plt.xlabel('Zeitstempel')
|
|
plt.ylabel('Temperatur (°C)')
|
|
plt.title('Aktuelle Temperaturwerte von Tank 1 und Tank 2')
|
|
|
|
# Vertikale Ausrichtung der x-Achsenbeschriftung
|
|
plt.xticks(rotation='vertical')
|
|
|
|
plt.legend()
|
|
plt.grid(True)
|
|
|
|
# Speichern Sie die Grafik als SVG-Datei
|
|
plt.savefig('AktuellT1T2.svg', format='svg', bbox_inches='tight')
|
|
|
|
# Grafik anzeigen (optional)
|
|
plt.show()
|