Wrapper/Transform Vorschläge für Erweiterungen

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
uwe111
Beiträge: 4900
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von uwe111 » 28.04.2025, 20:19

Hallo Peter,
PeterAC hat geschrieben:
28.04.2025, 17:43
Was ich noch nicht verstanden habe, ist wie mit nur 255 Einträgen im Puffer ein ganzer Tag mit korrekter Wichtung erfasst werden kann. Einige meiner Sensoren produzieren alle paar Sekunden schon wieder einen neuen Wert, wenn genügend Action in den Messungen ist. Da bin ich im Moment schon froh, dass die 255 so gerade noch die 5 Minuten abdecken.
Das ein ganzer Tag in den Puffer passt, habe ich nie behauptet. 8)

Es passen maximal 255 geänderte Werte hinein und man kann die gewichteten Werte im Puffer maximal auf 1440 Minuten kürzen. Wenn der Sensor z.B. alle 6 Minuten neue (geänderte) Daten sendet, dann würde auch über ein Tag reinpassen. :)
Sendet der Sensor allerdings alle 3 Sekunden neue (geänderte) Daten, dann passen natürlich nur weniger als 13 Minuten rein.

Mit welchen Sensoren nutzt Du die Mittelwertberechnung? Von Wettersensoren (Temperatur/Feuchte/Licht) werden ja nicht so oft Updates gesendet.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 29.04.2025, 08:34

Hallo Uwe,

ja das war ein Missverständnis meinerseits, weil ich zuerst die Arbeitsweise der neuen Parameter nicht richtig verstanden hatte, daher anfangs die
Frage, was HISTORY_BUFFER nun macht.

Ich benutze u.a. einen ShellyEM über MQTT/CCU-Jack um meine PV-Erzeugung zu erfassen. Bei mittleren Bewölkungen geht die Leistung rasant rauf und runter und der ShellyEM sendet auf den Flanken alle paar Sekunden neue Werte. Ist die Wolke wieder weg und die Leistung hoch, geht die Frequenz runter bis ca. 1/Minute. Da auf den Flanken viele Messwerte kommen, auf dem Plateau jedoch nur wenige, waren die bisherigen arithmetischen Mittelwert teils ziemlich daneben.
Gleichzeitig benutze ich das SMA Energymeter (SMA-EM, bei mir noch ein Standalone-Gerät, heute meist im SMA HomeManager integriert) um Netzeinspeisung und -Bezug zu ermitteln und daraus auch den Brutto-Verbrauch im Haushalt als Differenz von PV-Erzeugung und Netzeinspeisung bzw. -Bezug).
Die SMA-EM-Werte für die Leistung werden aus dessen Energiezählerständen über einen Zeitraum von jeweils 5 MInuten bestimmt, beim ShellyEM ist die Auflösung der übermittelten Energie-Zählerdaten zu schlecht für den kurzen Zeitraum, daher die Mittelung der erfassten Leistung mittels Wrapper.
Dabei kommt es sehr auf auf die Genauigkeit des Mittelwertes und die zeitliche Synchronität der Werte von SMA-EM und ShellyEM an.

VG,
Peter

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 29.04.2025, 12:52

Ergänzugn zur vorigen Antwort:

Mit dem SMA-EM geht die Mittelwertbildung für die Leistung über dessen Zählerstände sehr gut (1 Ws Auflösung, 64bit Zähler).

Mit dem ShellyEM geht das leider nur sehr schwer bzw. gar nicht. Die nicht-flüchtigen Zähler haben eine Auflösung von 0,1 Wh. Wann der Zählerstand erneut übermittelt wird hängt dabei nicht unbedingt von eine Änderung des Zählerstandes, sondern von einer Änderung der Leistung ab, wobei das gesamte MQTT-Datenpaket neu übermittelt wird. Dadurch wird regelmäßig derselbe Zählerstand mehrmals wiederholt, bis die nächste 0,1-Wh-Grenze überschritten wird. Daher traf meine frühere Annahme, das durch eine tatsächliche Änderung des Zählerstandes auch der Zeitpunkt dieser Änderung merkiert wird, leider nicht zu. Durch diese Effekte ist bei einem Messintervall von 5 Minuten von einer Unsicherheit des Energiewertes von +/- 1 Wh und gleichzeitig von einer Unsicherheit des tatsächlichen Zeitintervalls von +/-30 sec auszugehen. Dh. der Fehler im in der mittleren Leistung beträgt +/-10% (+/-30sec/300sec) vom Messwert plus +/- 0,1Wh * (3600sec/300 sec) = +/- 1.2 W. Während sich der erste Faktor bei allen Leistungen in unplausiblen Leistungssprüngen von bis zu 20% zeigt, wird der zweite vor allem bei kleinen Leistungen relevant.

Der Ansatz Mittelwerte über die Energiewerte zu bestimmen funktioniert daher beim SMA-EM sehr gut, beim ShellyEM über MQTT dagegen gar nicht.

Die allererste Lösung war tatsächlich, den ShellyEM mittels WGET und Shell-Skript abzufragen. Dabei korrelieren die Zählerstände sekundengenau mit der ShellyEM-Systemzeit und diese Unsicherheit entfällt. Bei der meist hohen PV-Leistung ist der verbleibende 1.2-W-Fehler dann nicht mehr so relevant. Nach der Umstellung auf MQTT wurde es dann viel schwieriger (hatte ich mir anders gedacht). Eine Zwischenlösung war danach die Mittelung der Leistung mit einem Skript und zeitlicher Wichtung, was viel CCU-Last erzeugte. Dann hatte ich noch eine Hybrid-Lösung: Der ShellyEM liefert nämlich mit "energy_returned" per MQTT die eingespeiste Energie der letzten vollen Minute in Watt-Minuten (= mittlere Leistung in W), allerdings als Integer-Zahl, und (zum Glück) auch nur bei jeder vollen Minute. Das ging direkt in die bisherige arithmetische Mittelung des Wrapper (also 5 Werte in 5 Minuten mit einer Shelly-internen Mittelung vorweg). Das war schon sehr gut und genau, kein Skript mehr und keine CCU-Last. Wegen der Integer-Zahl aber leider auch nicht zufriedenstellend für Anwendungen mit kleiner Leistung. Außerdem ist der ShellyEM mein einziges Device von Shelly, dass solch einen Wert per MQTT bereitstellt (1PM, Plug-S etc. leider nicht). Ein Kanal ist die PV-Anlage, der andere die Heizung mit Solarunterstützung.

Jetzt aber ist das Wrapper-Device dafür die ideale Lösung. Einfach den Eingangswert an das Wrapper-Device hängen, die gewünschte Mittelungszeit (sofern der mögliche Buffer reicht) per HISTORY_LEN konfigurieren und dann mit Zeitmodul nach Bedarf die Daten abholen. Ein expliziter Buffer-Reset ist dafür nun auch nicht mehr nötig.

vielen Dank für deine tolle Arbeit und VG,
Peter

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 29.04.2025, 15:10

Hallo Uwe,

habe jetzt noch einen Test speziell für HISTORY_UPDATE gemacht. Dafür habe ich ein Skript erstellt, das mit SET_STATE den STATE-Datenpunkt des Wrapper-Devices alle 7 Sekunden mit einer Zufallszahl setzt, d.h. 8-9 Werte/Minute.

Code: Alles auswählen

object o = dom.GetObject("Test:1").DPByHssDP("SET_STATE");
object o1 = dom.GetObject("Test:1").DPByHssDP("STATE");
real rVal = 0.001*system.Random(-1000, 1000);
WriteLine(rVal);
o.State(rVal);
WriteLine(o1.State());
HISTORY_UPDATE ist 1 (Minute), HISTORY_LEN ist 5 (Minuten), HISTORY_BUFFER 100

Nach dem Start des Skriptes
"Letzte Änderung" schreitet in Schritten von 7 Sekunden voran, ok.
"HISTORY_FILL" wächst kontinuierlich und erreicht 42 (42*7 = 294 ~ 5 Minuten), ok.
"HISTORY_SEC" erreicht 300, ok.
Danach schwankt HISTORY_FILL zwischen 41-43, ok.
Zwischen-Aktualisierungen gibt es nicht, da die 1 Minute durch den häufigen Input nicht erreicht wird, ok.

Nach Deaktivierung der Datenquelle (letzter Wert 0.14)
1 Minute nach dem letzten Wert werden Statistikwerte aktualisiert und "HISTORY_FILL" fällt von 42 auf 35, also 9 weniger, ok.
Nach 1 weiteren Minute auf 26, w.o.
Nach 1 weiteren Minute auf 18, w.o.
Nach 1 weiteren Minute auf 9, w.o.
Nach 1 weiteren Minute auf 1 und bleibt danach so, ok
Danach stehen MEAN, MIN, MAX und MEDIAN auf dem letzten Eingangswert 0.14, ok.
Allerdings ist HISTORY_SEC immer noch 300, ok? Hätte vermutet, dass hier der kürzer werdende Rest im Buffer zu erkennen wäre.
Aktualisierungen von den Statistikwerten (wenn auch mit gleichbleibendem Resultat) finden dann nicht mehr statt, ok?

Das ist zwar auch irgendwie logisch (der Buffer ist ja nun faktisch leer), aber meine frühere Annahme, die "Aktualisierung" würde weiterlaufen, wenn sie auch nur "Fülldaten" (manchmal nützlich zur Vemeidung langer Lücken in den Daten) liefert, ist dann doch nicht zutreffend.

Nach erneuter Aktivierung der Datenquelle geht es wieder wie oben los, allerdings bleibt HISTORY_SEC von Anfang an auf 300 stehen. Erst ein explizites Rücksetzen bzw. Setzen von HISTORY_BUFFER auf 1 und dann wieder auf 100 setzt den Wert auf 0 zurück.

VG,
Peter

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 29.04.2025, 19:17

Noch eine Beobachtung:

Es könnte sein, dass der letzte Messwert am Ende des vorhergehenden Intervalls als erster im folgenden Intervall bei der Statistik wieder verwendet wird.

Das ist mir aufgefallen, nachdem ich die PV-Erfassung komplett auf die neue Statistikfunktion (mit HISTORY_LEN=5) umgestellt hatte und nach jeweils 5 Minuten MEAN, MAX und MIN abgespeichert habe. Dabei ist es vereinzelt vorgekommen, dass in aufeinander folgenden Intervallen exakt derselbe MIN-Wert gespeichert wurde.
Tatsächlich fährt die PV-Anlage immer wieder Kalibrierzyklen von wenigen Sekunden Dauer zur Justierung des MPP-Trackers. Diese fallen in den Mittelwerten nicht weiter auf, werden aber von der Statistik als MIN-Wert deutlich unter dem Mittelwert sichtbar gemacht. Es kann sein, dass der MIN-Wert in den beiden aufeinander folgenden Intervallen durch denselben Messwert an der Grenze zwischen den beiden Intervallen herrührt.

Dadurch würden Messwerte an den Grenzen auch doppelt bei der MW-Bildung benutzt. Vielleicht liegt das daran, dass bei leerem Puffer der letzte Messwert zunächst die Statistikwerte bestimmen sollte und dadurch zum ersten neuen Messwert wird. Wenn möglich sollte er besser beim Eintreffen des ersten neuen Messwertes durch diesen ersetzt werden.

Im Moment passiert das eher zufällig und vermutlich dann, wenn ein Kalibrierzyklus genau den letzten Messwert vor Intervallende trifft.

Ich versuche morgen, das mit einem Test-Skript genauer zu identifizieren.

VG,
Peter

Benutzeravatar
uwe111
Beiträge: 4900
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von uwe111 » 30.04.2025, 00:31

Hallo Peter,

ich bin noch am Feintuning des Gerätes.
Bitte sammle alle Fehler und Änderungsvorschläge. Dann schauen wir, wie ich die Funktionalität verbessern kann.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 30.04.2025, 21:47

Hallo Uwe,

erstmal Entwarnung, nachdem ich eine Problem in meiner Zentrale beseitigt habe sieht es jetzt schon sehr gut aus.

Ich habe eine Testroutine gemacht, die all 8 sec fortlaufende Werte von 1.0-1.14 erzeugt und an STATE sendet. Die Schleife ist nach 15 Durchläufen genau 120 Sekunden lang. Der siebte Wert der Folge hat abweichend den Wert 0.5 und erstreckt sich von Sek. 56 bis 1:04. Nach 120 s beginnt der Zyklus von vorn. Die Statiskwerte, die dabei entstehen wurden alle aufgezeichnet und mit Offset 1,2,3-7 vertikal gestaffelt. Im Bild sind die Werte für ~FILL und ~SEC ausgeblendet. HISTORY_LEN hat den Wert 1 (Minute). Die roten und blauen Kästen entsprechen genau einer Minute. Ich habe sie so eingezeichnet, dass man den Effekt des 1-Minuten-Zeitfensters (möglichst gut) auf die MIN- und MAX-Werte erkennen kann.

Der rote Kasten bezieht sich auf den MIN-Wert (grün, Offset 4). Die rechte Grenze ist am Übergang des MIN-Wertes von 0.5 auf 1.0. Die linke Grenze befindet sich gerade vor dem ersten STATE-Wert (orange, Offset 1) bzw. Eingangswert ("Wrapper", gelb, kein Offset) der nach 0.5 wieder auf 1 gegangen ist, d.h. im Kasten/Zeitfenster sind nur Werte, die >= 1 sind. Das sieht also ok aus.

Der blaue Kasten bezieht sich auf den MAX-Wert (rot, Offset 5). Die rechte Grenze ist am Übergang des MAX-Wertes von 1.14 auf 1.08. Die linke Grenze ist gerade vor dem STATE-Wert bzw. Eingangswert der von 1.14 auf 1.00 zurückgegangen ist. Im Kasten/Zeitfenster sind also nur Werte die <=1.08 sind. Auch das sieht ok aus.

Ein anderes Thema ist das Verhalten beim, bzw. nach dem Reset. Nach einem Reset zeigen ~FILL und ~SEC eine 0 an. STATE und die Statistik-Werte MEAN, MEDIAN, MIN und MAX bleiben zunächst unverändert.
Trifft nun eine neuer Eingangswert ein, wird der STATE-Wert ersetzt und als ~SEC die Zeitspanne seit dem Eintreffen des letzten STATE-Wertes vor (!) dem Reset angezeigt. Offenbar bleibt der Zeitstempel des zuletzt empfangenen STATE-Wertes erhalten, trotz des Resets. Das Verhalten nach dem Reset in Bezug auf eine nicht gelöschte Vorgeschichte des letzten Messwertes macht das Verständnis kompliziert. Vielleicht wäre es besser, den ursprünglichen Zeitstempel durch den Zeitpunkt des RESET zu ersetzen. Dann weiß man jedenfalls genau, zu welchem Zeitpunkt die Statistik beginnt.
Eine zweite Frage wäre die Initialisierung. Zur Zeit ist es so, dass nach einem Reset STATE und die Statistikwerte MEAN, MEDIAN, MIN und MAX verschieden sind. Mit dem ersten Eingangswert nach einem Reset schaltet die Statistik aber komplett um auf dien vorigen (!) Eingangswert, der noch von vor dem RESET ist. Das liegt anscheinend daran, dass dieser Wert den ersten Wert für die Statistikberechnung liefert. Gleichzeitig wird als STATE schon der neue Wert angezeigt, der auch die MIN- und MAX-Werte beeinflusst.
Das berührt die Frage, ob eintreffende Werte den bisherigen Wert darstellen oder den ab jetzt geltenden. Aufgrund der Erfahrung, dass neue Werte vor allem bei aufgetretenen Änderungen generiert werden, muss man wohl die zweite Variante bevorzugen, wie es jetzt auch der Fall ist.
Die Überpüfung der Bildung von MEAN und MEDIAN habe ich bisher nicht hinbekommen, was nicht heißt, dass sie nicht richtig wären. Es ist nur äußerst kompliziert, Testfälle zu schaffen, an denen sich das leicht ablesen lässt.

Im Moment würde ich aber sagen, dass im eingeschwungenen Dauerbetrieb das Ganze sehr plausibel und richtig aussieht. Bei der Initialiserung nach dem RESET müsste man noch einmal überlegen, wie das am besten wäre. Abgesehen von der mathematischen Exaktheit ist hierbei auch leichte Nachvollziehbarkeit wichtig, wenn man nicht sehr viele Rückfragen zum Verständnis riskieren möchte.

Hier wäre noch das Skript zur Erzeugung der Eingangswerte:

Code: Alles auswählen

object o = dom.GetObject("Test:1").DPByHssDP("SET_STATE");
object o1 = dom.GetObject("Test:1").DPByHssDP("STATE");
real rVal;
integer iLT = ((localtime.ToInteger() % 84600) % 120) / 8;

if (iLT == 7) {rVal = 0.5;}
else {rVal = 1.0+iLT.ToFloat()/100.0;} 

! WriteLine(iLT);
! WriteLine(rVal);
o.State(rVal);
! WriteLine(o1.State());
object oLogit = dom.GetObject("CUxD.CUX2801001:1.LOGIT");
oLogit.State("Wrapper"#";"#rVal);
Das Problem mit der Zentrale war übrigens ein (experimentelles) Shell-Skript zur Anbindung von Smarthome-Komponenten der Fritzbox, das schon seit zwei Jahren auf der Zentrale läuft. Das blockierte die REGA einmal pro Minute für ca. 8 Sekunden, was zur Auslassung und Verschiebung von geloggten Datenpunkten führte. Dadurch waren die Ergebnisse völlig unverständlich und wirkten fehlerbehaftet. Durch Ausführen im Hintergrund ließ sich das Problem anscheinend lösen.

Ich bin die nächsten zwei Tage anderweitig beschäftigt, also melde ich mich wohl erst am Samstag wieder.

VG,
Peter
Dateianhänge
History_Test.png

Benutzeravatar
uwe111
Beiträge: 4900
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von uwe111 » 02.05.2025, 20:18

Hallo Peter,
PeterAC hat geschrieben:
30.04.2025, 21:47
Ein anderes Thema ist das Verhalten beim, bzw. nach dem Reset. ...
Ich habe ein Update der CUxD Testversion mit geändertem Verhalten nach dem Reset hochgeladen.
Kannst Du es bitte damit nochmal testen?

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.12, SSH KeyDir

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 04.05.2025, 15:27

Hallo Uwe,

hier die Testergebnisse, zunächst das Verhalten von ~FILL und ~SEC nach einem Reset:
History_Test (2.12.5,1).png
Nach drei Tagen Pause beim Input habe ich zunächst einen Reset (Beginn des Diagramms,12:31:37) ausgelöst. ~FILL geht auf "0" (= 0 + 6 im Diagramm), ~SEC geht ebenfalls auf 0 (= 0 + 7 im Diagramm). Zum Verhalten von STATE etc. s. nächstes Diagramm.
Danach habe ich den Input ("Wrapper") aktiviert, der um 12:32:48 einen ersten Wert sendet. Dabei springt ~SEC auf 71 sec (= 71 + 7) im Diagramm. Das ist die korrekte Zeit seit dem Reset. Man könnte hier auch überlegen, ob sofort schon die Begrenzung auf 1 Minute wirksam werden sollte.
Die Anzahl der belegten Speicherzellen bleibt hier zunächst noch "0".
Beim nächsten Input, also dem 2. nach dem Reset, um 12:32:58 wird ~SEC auf 60 s begrenzt und bleibt so bis zum nächsten Reset (12:38:42). Der Wert von ~FILL springt hier von "0" auf "2" und steigt danach alle 8 Sekunden um 1 bis auf 14 und verbleibt so bis zum nächsten Reset.

Um 12:38:42 (2 sec nach dem dem vorhergehenden Input) wird wiederum ein Reset ausgelöst, wonach ~SEC und ~FILL zunächst wieder "0" sind. Der erste neue Input kommt um 12:38:48, worauf ~SEC auf 6 Sekunden springt, was der exakten Zeit seit dem Reset entspricht. Die Zahl der belegten Speicherstellen bleibt auch hier zunächst "0". Erst wenn der nächste Input (also der 2. nach dem Reset) eintrifft, wechselt der Wert von ~FILL auch hier wieder auf 2.

Bis auf auf die Zahl der belegten Speicherstellen und die evtl. Begrenzung auf die eingestellte Minutenzahl sieht das aber korrekt aus.

Hier nun das Verhalten der Statistikwerte:

History_Test (2.12.5,2).png
Alle Statistikwerte werden beim Reset (12:31:37, ~FILL und ~SEC s.o.) aktualisiert und landen zum RESET-Zeitpunkt im Log. Dabei nehmen alle den Wert des letzten Input (1.13) an, der auch weiterhin in STATE angezeigt, aber beim Reset nicht aktualisiert wird. D.h. dieser behält seinen letzten Zeitstempel, der hier drei Tage alt ist, bei. Beim Eintreffen des 1. neuen Wertes (1.06) nach dem Reset wird STATE aktualisiert, die Statistikwerte jedoch nicht, das geschieht erstmals beim zweiten Wert (0.5) nach dem Reset. Zu diesem Zeitpunkt fällt der MIN-Wert ebenfalls auf 0.5, der MAX-Wert wird auch aktualisiert, behält aber seinen Uralt-Wert, der nun eigentlich veraltet wäre und durch den 1. neuen Eingangswert ersetzt werden müsste, bei. Möglicherweise liegt es daran, dass bei der MAX-Wert-Ermittlung ein einmal vorhandener Wert nur durch höhere Werte ersetzt werden kann und da dies beim 1. neuen Eingangswert nicht geschehen war, bleibt der MAX-Wert für's erste unverändert. Das geschieht erst wieder mit dem letzten Wert dieses Zyklus (12:33:56, 1.14).
Beim zweiten Reset ist die Pause zwischen letztem Wert (12:38:40, 1.05) und dem Reset (12.38:42) nur zwei Sekunden. Nach dem Reset fahren die Statistikwerte mit diesem Wert fort. Auch hier erfolgt keine Aktualisierung beim 1. Eingangswert. Allerdings steht der Wert offenbar im History-Buffer, denn beim 2. Eingangswert (12:48:56, 0.5) wird gleichzeitig der MIN-Wert von 1.05. auf 0.5 geändert und der MAX-Wert von 1.05 auf 1.06.

Ich habe mit Excel einen Analyse des Test-Cases gemacht:

MEAN Check.png
MEAN Check.png (10.26 KiB) 166 mal betrachtet
Es scheint eine Verschiebung gebenüber dem Input um einen Schritt zu geben. Außerdem bekomme ich nicht heraus wie sich der Wert 1.07 bei 0, 120, 240 aus den Eingangsdaten (Verschieben hin oder her) herleiten lässt.

Das Test-Skript ist dasselbe wie zuvor. Die Daten aus von MEAN habe ich aus dem Log-File herausgelesen, wobei ich mich frage ob die Ausgabe auf zwei Dezimalstellen begrenzt ist.

VG,
Peter
Dateianhänge
Statistik Test.xlsx
(10.4 KiB) 9-mal heruntergeladen

PeterAC
Beiträge: 113
Registriert: 19.12.2014, 14:07
Hat sich bedankt: 7 Mal
Danksagung erhalten: 9 Mal

Re: Wrapper/Transform Vorschläge für Erweiterungen

Beitrag von PeterAC » 05.05.2025, 18:08

Nachtrag:

Die Verschiebung kann man auch als systematisch richtig betrachten, wenn man von der Auffassung ausgeht, dass ein Messwerte nicht den zurückliegenden Zeitraum beschreibt, sondern den Zeitraum, der mit dem Messzeitpunkt beginnt, wie weiter oben bereits angesprochen. Dann bliebe noch die Diskrepanz beim MEAN-Wert 1.07.
MEAN Check-2.png
VG,
Peter

Antworten

Zurück zu „CUxD“