Ich will einen realistischen Mittelwert aus der Datenbank lesen. Mit "avg" liest der mir ja nur den Mittelwert der gespeicherten werden. Wenn aber der Wert für sagen wir mal 20 h auf 100 steht und für 4 Stunden auf 0, hätte ich wohl auch nur einen Mittelwert von 50. Mich interessiert aber der zeitabhängige Mittelwert. Wie bekomme ich den ermittelt, ohne alle paar Minuten den Wert wieder in die Datenbank zu schreiben?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Mittelwert Database
Einklappen
X
-
Moin Cannon ,
die Query im database plugin sieht folgendermaßen aus:
Code:'avg': 'MIN(time), ' + self._precision_query('AVG(val_num * duration) / AVG(duration)'),
Gruß
Wolfram
-
Zitat von wvhn Beitrag anzeigenDas heißt, dass die Einzelwerte in jedem Abtastintervall mit ihrer jeweiligen Dauer gewichtet werden.
Ich schaue mir das noch mal im Verlauf der Daten an.
Vielleicht kann ich noch eine Frage ergänzen. Wie bekomme ich die Werte des heutigen Tages angezeigt, also quasi nur ab Mitternacht?
Kommentar
-
Zitat von aldaris Beitrag anzeigenBy passing 'day', the plot is shown from 0:00 until 24:00 on the day starting after tmin. Set tmin to '24h' or '1d' for today, '48h' or '2d' for yesterday and so on.
Was ist gemeint mit By passing 'day' ? Denn normerweise geben '24h' und '1d' wirklich 24 Stunden an, laut Doku zumindest. Sicher, dass du SmartHomeNG und nicht die SmartVISU meinst?
Kommentar
-
Habs jetzt hingebastelt. Hier mal ein Beispiel, wer evtl. mal die Werte seit Mitternacht (also nur heute) braucht:
Code:jetzt = sh.now() minuten_seit_mitternacht = jetzt.hour * 60 + jetzt.minute soc_level_min_heute = sh.Zentral.Energie.Speicher.SOC.db('min', str(minuten_seit_mitternacht) + 'i') soc_level_max_heute = sh.Zentral.Energie.Speicher.SOC.db('max', str(minuten_seit_mitternacht) + 'i') soc_level_avg_heute = sh.Zentral.Energie.Speicher.SOC.db('avg', str(minuten_seit_mitternacht) + 'i')
Zitat von aldaris Beitrag anzeigenHi, sry, mein Fehler.Zuletzt geändert von Cannon; 04.11.2024, 22:34.
Kommentar
-
Zitat von Onkelandy Beitrag anzeigendas hier könnte hilfreich sein: https://smarthomeng.github.io/dev_do...zeitdaten.html
Code:soc_level_min_heute = sh.Zentral.Energie.Speicher.SOC.db('min', sh.minute.since.midnight.dbstr()) soc_level_max_heute = sh.Zentral.Energie.Speicher.SOC.db('max', sh.minute.since.midnight.dbstr()) soc_level_avg_heute = sh.Zentral.Energie.Speicher.SOC.db('avg', sh.minute.since.midnight.dbstr())
- Likes 1
Kommentar
Kommentar