FHEM Forum

FHEM => Sonstiges => Thema gestartet von: eburkon am 04 Juli 2014, 09:03:38

Titel: Steigung einer Kurve
Beitrag von: eburkon am 04 Juli 2014, 09:03:38
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


Titel: Antw:Steigung einer Kurve
Beitrag von: herrmannj am 04 Juli 2014, 09:50:39
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
Titel: Antw:Steigung einer Kurve
Beitrag von: eburkon am 04 Juli 2014, 09:57:23
Die Temperaturdaten hab ich schon in FHEM.
Ich hab bloß keine Ahnung wie ich die in FHEM entsprechend weiterbearbeiten könnte.

Gruss
    Ekkehard
Titel: Antw:Steigung einer Kurve
Beitrag von: Zephyr am 04 Juli 2014, 10:14:16
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?
Titel: Antw:Steigung einer Kurve
Beitrag von: eburkon am 04 Juli 2014, 11:20:06
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
Titel: Antw:Steigung einer Kurve
Beitrag von: Puschel74 am 04 Juli 2014, 11:27:18
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
Titel: Antw:Steigung einer Kurve
Beitrag von: herrmannj am 04 Juli 2014, 12:20:52
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
Titel: Antw:Steigung einer Kurve
Beitrag von: rudolfkoenig am 04 Juli 2014, 12:27:53
Alte Werte aus dem Log kriegt man mit "filelog get (http://fhem.de/commandref.html#FileLogget)".
Titel: Antw:Steigung einer Kurve
Beitrag von: eburkon am 05 Juli 2014, 09:31:40
Zitat von: rudolfkoenig am 04 Juli 2014, 12:27:53
Alte Werte aus dem Log kriegt man mit "filelog get (http://fhem.de/commandref.html#FileLogget)".

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
Titel: Antw:Steigung einer Kurve
Beitrag von: eburkon am 05 Juli 2014, 09:42:41
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
Titel: Antw:Steigung einer Kurve
Beitrag von: rudolfkoenig am 05 Juli 2014, 12:01:58
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.