Onkelandy vielleicht solltest Du kurz schreiben wie man das feststellen kann bzw. wie Du das gemessen hast...
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Database Plugin
Einklappen
X
-
Hallo Onkelandy ,
ich habe bei mir analog ein Logging ins DB plugin aufgenommen, um die Ausführungszeit der Funktion dump() in der stop() Funktion des plugins über einen längeren Zeitraum und in verschiedenen Situationen zu beobachten. Der DB dump hat bei mir bisher nie länger als 2 Sekunden (gemäß plugin log) gedauert. Im Regelfall liegt die benötigte Zeit unter 1 Sekunde. Die DB läuft bei mir auch extern auf einer Synology (Maria DB). Ich kann Dein Verhalten bei mir also nicht nachstellen.
VG
Kommentar
-
Hallo,
Ich habe eine Frage zu Möglichen Funktionen des database-Plugins: Ich suche eine Möglichkeit, über die kontinuierlich geloggten Werte (bspw. Außentemperatur) eine Abfrage zu machen, die mir bspw. die Minimaltemperaturen einer jeden Woche ausgibt.
Bspw. Ermittlung der MinTemperature innerhalb einer Woche für die vergangenen 10 Wochen.
Lässt sich das mit Bordmitteln lösen?
Bin für jeden Hinweis dankbar.
Kommentar
-
Zitat von Sisamiwe Beitrag anzeigenBspw. Ermittlung der MinTemperature innerhalb einer Woche für die vergangenen 10 Wochen.
Lässt sich das mit Bordmitteln lösen?
.
Ich stell dir morgen den Code ein,
Kommentar
-
Zitat von Maexle Beitrag anzeigenHier der Link.
Allerdings trifft es meine Anforderung nicht gesamt. Diese Funktion ermittelt den minimalen Wert im Zeitfenster Abfragezeitpunkt bis genau 7Tage davor.
Ich suche ein Funktion, die die den mininmalen Wert innerhalb eines Zeitfensters für einen Zeitraum x liefert.
Sowas wie: Minimale Tagestemperatur der letzten 10 Tage.
Kommentar
-
Zitat von Maexle Beitrag anzeigenIch glaube ich verstehe dich nicht richtig- Ich logge (wie du auch) diverse Temperaturen laufend mit.
- Aus diesen Daten, möchte ich ein Darstellung als Plot/Säule generieren, die mir bspw. die jeweilige minimale Temperatur eines Tages für den angegebenen Zeitraum (bspw. die letzten 3 Tage).
- Das erwartete Ergebnis wäre eine Liste mit den minimalen Temperaturen eines Tages für den Abfragezeitraum (hier bspw. heute, gestern, vorgestern) [0.1, 2.0, 3.0]
- die Erweiterung der Funktion
sh.item.db(function, start, end=‘now‘) -
Code:
sh.item.db('min', 1d) sh.item.db('min', 2d, 1d) sh.item.db('min', 3d, 2d)
Kommentar
-
So,
ich habe mal etwas geforscht und die sql-Abfrage dafür ermittelt.
Code:SELECT CONCAT(YEAR(FROM_UNIXTIME(time/1000)), '/', WEEK(FROM_UNIXTIME(time/1000))) AS ForDate, MAX(val_num), MIN(val_num) FROM log_1 WHERE item_id = 117 AND YEAR(FROM_UNIXTIME(time/1000)) = 2020 GROUP BY CONCAT(YEAR(FROM_UNIXTIME(time/1000)), '/', WEEK(FROM_UNIXTIME(time/1000))) ORDER BY ForDate DESC;
Die Abfrage ermittelt den Min und Max Wert der Tabellenspalte "val_num" aus der Tabelle "log_1" (Bei mir eine Arbeitskopie der Tabelle, in der alle Werte geloggt werden), wenn die item_id 117 ist, das Jahr des Eintrags 2020 und gruppiert nach Jahr/Woche des Eintrags.
Ähnliches geht für Tage, Monate, Jahre etc.
Die Datenbank (zumindest mysql) gibt es also her.
Wäre es denkbar, das Plugin entsprechend zu erweitern?
Kommentar
-
Ich hätte schon des Öfteren natives SQL aus Logiken heraus brauchen können (z.B. im Zusammenhang mit dem hier, dem hier, dem hier und dem hier) und kann mich dunkel daran erinnern, dass es immer daran scheiterte, dass man kein echtes SQL-Statement über das dB-Plugin an die Datenbank übergeben kann.
Eine eigene dB-Anbindung wollte ich auch nicht extra schreiben, und für eigenständige Erweiterungen des dB-Plugins (so sie denn überhaupt abgenickt werden - gerade beim dB-Plugin werden für jede vorgeschlagene einfache Lösung immer ganz schnell ganz viele komplizierte Probleme gefunden) fehlt mir einfach die Zeit und der Nerv.
Zumindest habe ich nach diversen Tüfteleien für mich keinen gangbaren Weg gefunden und es dann immer aufgegeben ...
/tom
Kommentar
Kommentar