NEWS
Hilfe fürScript mit SQL
-
Ich möchte die total Regenmenge ermitteln, die von Zeitpunkt x bis y ergeben hat.
Die Regenmenge wird in der Variablen "variablen.0.Regenzaehler" gemessen, die in sql.0 gespeichert wird
für den Zeitraum würde ich die Variablen wo ich für meinen Dymamischen Float gebrauche verwenden
von:
variablen.0.flot.von // Datum
variablen.0.flot.vonH // Zeit
bis:
variablen.0.flot.bis // Datum
variablen.0.flot.bisH // Zeit
Kann mir jemand helfen?
Ich habe mit SQL keine Ahnung
3100_regen.jpg -
Als schneller Ansatz:
Das geht per Javascript indem Du einen SQL-Query schreibst die dann "min-max oder was auch immer macht mit den Daten und so bekommst DU die Differenz oder was auch immer.
Wie Custom-Queries gehen: https://github.com/ioBroker/ioBroker.sql#custom-queries
-
Wie Custom-Queries gehen: https://github.com/ioBroker/ioBroker.sql#custom-queries `
Danke
Da war ich auch schon, aber wenn ich ehrlich bin, das überschreitet meine hobby programmiererische Fähigkeiten.
Daher der hilferuf
Das blick ich nicht durch
-
Das wäre mal ein Beispiel für den Anfang:
var dpName = "variablen.0.Regenzaehler"; var end_time = new Date().getTime(); var start_time = new Date().getTime() - (30 * 24 * 3600);//wäre eine Beispiel für 30 Tage zurück var sql_string ="SELECT Round(Sum(val),1) As SumVal FROM ts_number INNER JOIN datapoints ON ts_number.id = datapoints.id WHERE (ts >= " + start_time + " AND ts <= " + end_time + ") AND datapoints.name = '" + dpName + "' GROUP BY ts_number.id"; log(sql_string); sendTo('sql.0', 'query', sql_string,summe); function summe(result) { log(JSON.stringify(result.result)); log("Summe von " + dpName + " = " + result.result[0].SumVal); }
Kommst Du damit weiter?
-
Kommst Du damit weiter? `
Super Danke
Glaube ja, habe momentan wenig Zeit, Antwort kommt dann mal
muss jetzt nur noch durch das Thema Zeit durchlesen, zudsammennehmen meines Datums und der Zeit.
Dann sollte es hinhauen.