Steigung einer Kurve

Begonnen von eburkon, 04 Juli 2014, 09:03:38

Vorheriges Thema - Nächstes Thema

eburkon

Hallo Leute,

ich würde gerne die Temperaturkurve meiner Solarthermiepaneels als Sonnensensor hernehmen.

Statistisch/mathematisch denke ich mir das so.

Erst mal Ausreisser beseitigen und Kurve glätten.
Dann steigende Kurve -> on, fallende Kurve -> off

Hat jemand ne Idee wie man an die dazu notwendigen Daten innerhalb von fhem kommt?

Gruss
    Ekkehard


FHEM auf Rpi48G, KNX via knxd und IP Interface, Hue, FS20, und ein paare externe Sachen via MQTT

herrmannj

Hi Ekkehard,

ich verstehe die Frage (noch) nicht.

Möchtest Du die Temp Daten in fhem reinbekommen oder möchtest Du die schon in fhem vorhandenen Daten zu Sonne [on|off] machen ?

vg
Jörg

eburkon

Die Temperaturdaten hab ich schon in FHEM.
Ich hab bloß keine Ahnung wie ich die in FHEM entsprechend weiterbearbeiten könnte.

Gruss
    Ekkehard
FHEM auf Rpi48G, KNX via knxd und IP Interface, Hue, FS20, und ein paare externe Sachen via MQTT

Zephyr

Statistisch / mathematisch kann man mit Regression aus Datenpunkten eine mathematische Funktion bestimmen. Daran lässt sich dann die Steigung messen. Ist kein Hexenwerk.
Hat aber in FHEM nichts zu suchen. Das ist Aufgabe von z.B. Mathlab oder Wolfram Mathematica.

Was genau möchtest Du denn erreichen?
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433

eburkon

nun ja IMHO hat es dann was in FHEM zu suchen, wenn ich es laufend auf die Messwerte anwende,
um die Tendenz der Temperaturwerte (=Steigung der Kurve) herauszubekommen.

Da gibt es einige Perlmodule dafür (nur leider scheint gerade CPAN tot zu sein).
SPSS und Co sind nur für die nachträgliche Aufbereitung nutzbar.

Aber dazu brauche ich halt eine Funktion mit der ich die alten Messwerte aus den Logs
bekommen. Jedesmal ein externes Script zu starten, dass das Log durchgrept ist
finde ich performance-technisch übel.

Gruss
   Ekkehard
FHEM auf Rpi48G, KNX via knxd und IP Interface, Hue, FS20, und ein paare externe Sachen via MQTT

Puschel74

Hallo,

ich habe soetwas im Einsatz um zu erkennen ob im Badezimmer geduscht wird um dann den Abluftventilator ein zu schalten.
Ich kann das heut Abend mal posten.

Kurz: 3 Dummys für die Werte und per if auf positive Steigung und wie hoch der Wert im Vergleich zum letzten Wert gestiegen ist.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

herrmannj

soweit ich Ekkehard verstehe möchte er doch auf "on/off" testen.

Im Prinzip sollte doch sowas gehen (pseudo-) :

if lastReading < newReading then "sonne weg" else "sonne da".

geht das in die Richtung ? Du solltest noch eine Schwelle einbauen damit nicht jeder Temperaturanstieg als "Sonne" interpretiert wird.

vg
Jörg

rudolfkoenig

Alte Werte aus dem Log kriegt man mit "filelog get".

eburkon

Zitat von: rudolfkoenig am 04 Juli 2014, 12:27:53
Alte Werte aus dem Log kriegt man mit "filelog get".

das ist wohl was ich brauche. Danke!
Damit kann ich mir die Daten der letzten Stunde holen und statistisch bearbeiten.

Wenn ich das innerhalb von Perl Code mit fhem() aufrufe und als outfile - angebe wo landen denn die Daten?
Ich würde gerne tempfiles vermeiden, da die auf nem Flash Speicher a...lahm sind.

Gruss Ekkehard
FHEM auf Rpi48G, KNX via knxd und IP Interface, Hue, FS20, und ein paare externe Sachen via MQTT

eburkon

Zitat von: herrmannj am 04 Juli 2014, 12:20:52
if lastReading < newReading then "sonne weg" else "sonne da.

So einfach ist es leider nicht. Die Kollektortemperatur schwankt sehr stark. Das ist bei der Paradigma Anlage auch dadurch bedingt,
dass sie im Eimerkettenverfahren fördert. Auch bei gleichbleibender Sonneneinstrahlung schwankt die Temperatur ständig.

Die absolute Kollektortemperatur hängt auch von der Außentemperatur und der Temperatur des Puffers ab.
Also muss ich wohl ein paar mehr Werte anfassen und die Statistik aus dem Hirnkastl kramen.

Aber mit einer Regression sollte das dann kein Problem mehr sein.

Guss
Ekkehard
FHEM auf Rpi48G, KNX via knxd und IP Interface, Hue, FS20, und ein paare externe Sachen via MQTT

rudolfkoenig

ZitatWenn ich das innerhalb von Perl Code mit fhem() aufrufe und als outfile - angebe wo landen denn die Daten?

Mit - kriegt man die Daten als Ergebnis des Funktionsaufrufs zurueck, das ist auch so dokumentiert, und man kann im Frontend/telnet damit herumexperimentieren.

Vermutlich noch etwas effizienter (und nicht dokumentiert) ist die globale Variable $internal_data, was mit dem Zeiger auf die Daten gefuellt wird, falls outfile=="INT" ist. Ist aber vermutlich nur auf langsamen Systemen und bei grossen Datenmengen relevant.