seit Tagen probiere ich an einer Lösung rum, aus der MySQL Datenbank die letzten Werte bzw. die Maximalwerte je Tag in den letzten 3 Tagen auszulesen.
Hintergrund ist meine Idee, die Werte unserer Wasseruhr, die ich mit einem Raspberry erfasse (Thread begann unter Netzwerkprogrammierung - SSH Tunnel zum MySQL Server) auf einem 2ten Raspberry mit LCD (16x2) anzuzeigen , z.B.
Gestern: 480 Liter
Heute : 50 Liter
Jetzt habe ich schon viele Möglichkeiten ausprobiert, Tipps aus diesem Forum und von Stackoverflow, aber immer bleiben Fehler.
Mir hat es schon ein paar Mal die MySQL stillgelegt. Deshalb wende ich mich nun an euch um die Bitte, mir den Weg zum Ziel zu zeigen.
Stand jetzt mit Ausgabe der Werte im Terminal:
Code: Alles auswählen
import pymysql
import time
def main():
# init mySQL
db = pymysql.connect(
host='192.168.1.100',
user='messi',
password='mess',
database='smarthome'
)
try:
cursor = db.cursor()
while True:
# get data from MySQL
cursor.execute('SELECT MAX(counter_w) FROM messwerte_wasser WHERE Datum = NOW() - 1 INTERVAL 2 DAY')
counter_2old = cursor.fetchone()[0]
cursor.execute('SELECT MAX(counter_w) FROM messwerte_wasser WHERE Datum = NOW() - 1 INTERVAL 1 DAY')
counter_old = cursor.fetchone()[0]
cursor.execute('SELECT MAX(counter_w) FROM messwerte_wasser WHERE Datum = NOW()')
counter_today = cursor.fetchone()[0]
# Testausgabe
print(counter_2old)
print(counter_old)
print(counter_today)
# print() für LCD noch erstellen
# counter_yesterday = counter_old - counter_2old
# counter = counter_today - counter_old
time.sleep(5)
except KeyboardInterrupt:
pass
finally:
cursor.close()
db.close()
if __name__ == '__main__':
main()
Vielleicht denke ich nur zu kompliziert ??
Danke für jeden Hinweis