NEWS
Daten aus SQL Lite auslesen und Mittelwert errechnen
-
Hallo Leute,
normal mache ich all meine Scripte mit Blockly, da mir Java sowas von gar nicht liegt. Nun habe ich aber eine "Aufgabenstellung", welche sich wohl nur mit Java abbilden lässt. Leider reicht mein Wissen da aber nicht ansatzweise für die Umsetzung.
Hintergrund ist, dass ich Daten einer Pegelsonde in die SQLLite DB des SQL Adapters logge. Da diese Daten einige Toleranzen haben, würde ich nun gerne die Daten auslesen welche z.B. in den letzten 5min geloggt wurden und darüber einen Mittelwert errechnen.
Ein bisserl rumgespielt habe ich bereits mit dem Demo aus der Readme vom SQL Adapter aber so wirklich weit bin ich nicht gekommen. Hoffe da mal auf eure Hilfe....
Das habe ich schon:
sendTo('sql.0', 'query', 'SELECT id FROM datapoints WHERE name="mqtt.0.Wasserstand.Pegelsonde.Pegel"', function (result) { if (result.error) { console.error(result.error); } else { // show result console.log('Rows: ' + JSON.stringify(result.result)); var now = new Date(); now.setUTCMinutes(-5); sendTo('sql.0', 'query', 'SELECT val FROM ts_string WHERE ts >= ' + now.getTime() + ' AND id=' + result.result[0].id, function (result) { console.log('Rows: ' + JSON.stringify(result.result)); }); } });Die Daten die ich erhalte sehen dann so aus:
Rows: [{"val":"22962"},{"val":"23002"},{"val":"22673"},{"val":"22980"},{"val":"22983"},{"val":"22981"},{"val":"22658"},{"val":"23042"},{"val":"22999"},{"val":"23003"},{"val":"22668"},{"val":"22973"},{"val":"22980"},{"val":"22986"},{"val":"22970"},{"val":"23025"},{"val":"22995"},{"val":"22707"},{"val":"22984"},{"val":"22984"},{"val":"22683"},{"val":"22982"},{"val":"22710"},{"val":"23015"},{"val":"22684"},{"val":"22701"},{"val":"22697"},{"val":"22830"}]Also vom Prinzip her sollten dies die Daten der letzten 5min darstellen aber da fängt das Problem schon an. Da nur alle 30sek. ein Eintrag erstellt wird, dürften nur 10 Daten kommen aber es sind deutlich mehr. Grundsätzlich würde es mir reichen bzw. würde ich es sogar besser finden, wenn ich einfach nur die letzten 10 Datensätze auslesen könnte.
Davon abgesehen habe ich nun keine Idee mehr, wie ich diese Daten nun weiterverarbeiten kann und einen Mittelwert erzeugen kann.
Danke schon mal für eure Hilfe!!
Viele Grüße
Mario
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden