HomeMatic CCU2 bei ELV bestellen

CUxD Wrapper-Device Reset

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

Werbung


Re: CUxD Wrapper-Device Reset

Beitragvon Georgee » 03.05.2018, 15:37

Weiterer Zwischenstand:

mit folgende Zeilen unter "Skript testen"

Code: Alles auswählen
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("vor Reset "#p);
dom.GetObject("CUxD.CUX9000003:1.RESET").State(1);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(0);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 0 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(1);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 1 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(2);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 2 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(3);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 3 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(4);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 4 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(5);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 5 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(6);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 6 "#p);
dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(7);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach 7 "#p);
!dom.GetObject("CUxD.CUX9000003:1.SET_STATE").State(8);
!real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
!WriteLine("nach 8 "#p);
real p = dom.GetObject("CUxD.CUX9000003:1.MEAN").Value();
WriteLine("nach Reset "#p);
WriteLine("Hallo Welt!");


erhalte ich folgende Ergebnisse:

Code: Alles auswählen
vor Reset 3.500000
nach 0 7.000000
nach 1 7.000000
nach 2 3.500000
nach 3 3.500000
nach 4 3.500000
nach 5 2.670000
nach 6 2.670000
nach 7 2.670000
nach Reset 2.670000
Hallo Welt!



USE_HMDATAPT ist nicht aktiviert
WRAPPER|HISTORY_BUFFER 8

Der Mittelwert der Zahlenfolge 0-7 sollte 3,5 betragen, dies stimmt nur am Anfang des nächsten Durchlaufs mit gleichen Werten.

Es ist für mich nicht erklärlich, warum nach MEAN 3,5 und RESET, anschließendem SET_STATE (0) der neue Mittelwert 7 betragen soll usw.

Wo liege ich hier so gänzlich falsch?

Viele Grüße
Georgee
Raspberrymatic auf PI 3, aktuelle Version, ca. 30 Geräte, CUxD, Mail, Programme drucken, Highcharts, rmupdate
Georgee
 
Beiträge: 38
Registriert: 22.05.2017, 11:58

Re: CUxD Wrapper-Device Reset

Beitragvon uwe111 » 03.05.2018, 16:54

Georgee hat geschrieben:Wo liege ich hier so gänzlich falsch?

Erst einmal musst Du SET_STATE vor RESET aufrufen, um mit 0 zu starten.
Das nächste Problem liegt in Deiner Programmierung. Der gepufferte .Value() Wert aus der ReGa ist wahrscheinlich noch nicht aktualisiert, wenn Du ihn abrufst. Um die aktuellen Daten zu erhalten musst Du sie mittels .State() abfragen.

Georgee hat geschrieben:ich nutze den Wrapper, um per Script Daten für eine Mittelwertbildung zu sammeln - Erfassung der mittleren Leistung bei verschiedenen Zuständen der Heizung/Solaranlage.

Darunter kann ich mir jetzt leider nichts konkretes vorstellen.

Mit dem CUxD Gerät kannst Du eingehende Messwerte glätten bzw. Messfehler rausfiltern. Und zwar dynamisch zur Laufzeit mittels eines Ringbuffers. Die maximale Größe des Ringbuffers wird in den Geräteeinstellungen definiert.

Wenn Du statistische Auswertungen mit vorhandenen Daten machen möchtest, dann ist das CUxD Gerät vielleicht der falsche Ansatz.

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.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3581
Registriert: 26.02.2011, 23:22

Re: CUxD Wrapper-Device Reset

Beitragvon Georgee » 04.05.2018, 08:11

Danke für die Hinweise.

Aufgabe war schon, Messwerte zu glätten, dies aber mit definierten Anfangswerten (0) innerhalb eines bestimmten Zeitraums nach Änderung (Leerlauf 20 W, Betrieb 100 W) ohne Rückwirkung aus der Leerlaufphase. Rückwirkung ergibt sich ja über die Zahl der Elemente des Puffers.

Es wäre eine schnelle und elegante Möglichkeit gewesen.

Die Programmierung dieser Aufgabe erfordert mit meinen Kenntnisses dann einige Systemvariable und Programmieraufwand.

Viele Grüße
Georgee
Raspberrymatic auf PI 3, aktuelle Version, ca. 30 Geräte, CUxD, Mail, Programme drucken, Highcharts, rmupdate
Georgee
 
Beiträge: 38
Registriert: 22.05.2017, 11:58

Vorherige

Zurück zu CUxD

Wer ist online?

Mitglieder in diesem Forum: mpcc und 4 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.