Hallo zusammen,
ich möchte euch mein neues Modul vorstellen: Gleitender Mittelwert, verfügbar über den Module Store oder direkt per GitHub-URL.
GitHub: GitHub - DG65/GleitenderMittelwert · GitHub
Lizenz: MIT
Die Ausgangslage
Wer PV-Anlagen, Wärmepumpen oder einfach nur ein paar Sensoren betreibt, kennt das Problem: Rohe Live-Messwerte springen munter hin und her. Der klassische Weg wäre ein Skript mit AC_GetLoggedValues — funktioniert, hat aber zwei Nachteile: es hängt vollständig vom Archiv ab, und jede Berechnung fragt die komplette Datenbank ab. Ich hatte mehrere solcher Skripte verstreut (Außentemperatur über 1h/24h, Solareinstrahlung über 15 Minuten, PV-Erzeugung über 10 Minuten, ein verrechneter PV-Überschusswert …) — das wollte ich konsolidieren.
Die Lösung
Das Modul sampelt den Live-Wert der Quelle in festem Takt und hält die letzten Werte in einem versteckten Ringpuffer. Kein Archiv-Zugriff nötig. Eine Instanz verwaltet beliebig viele „Kanäle" (Bezeichnung, Quelle, Fenster-Dauer, Methode) — pro Kanal entstehen automatisch Mittelwert- und Puffer-Variable.
Acht Berechnungsmethoden
Arithmetisch, Zeitgewichtet (robust bei unregelmäßiger Taktung), Median (robust gegen Ausreißer), Minimum, Maximum, Standardabweichung, Exponentiell gewichtet (EMA), Summe.
Zwei Quellen verrechnen
Für zusammengesetzte Werte (z. B. PV-Überschuss = −(Erzeugung + Netzbezug)) lässt sich eine zweite Quelle mit Verknüpfung und Invertieren angeben — verrechnet vor der Mittelung, ein Kanal reicht.
Sonstiges
Drag & Drop sortierbare Kanalliste, Variablen frei im Objektbaum verschiebbar (auch in fremde Instanzen), konfigurierbares Abtastintervall.
Installation
Module Store (Suche „Mittelwertberechnungen") oder per URL https://github.com/DG65/GleitenderMittelwert.
Über Rückmeldungen und Ideen freue ich mich!