FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: oberlon am 18 Januar 2016, 22:29:14

Titel: Min Max in einem bestimmten Zeitraum
Beitrag von: oberlon am 18 Januar 2016, 22:29:14
Hallo zusammen,

da ich heute Langweile hatte und nichts passendes gefunden habe (bei den aktuellen Temperaturen) dachte ich mir ich probiere mich an meinem ersten kleinen Modul.
Es ist weit entfernt davon "stable" zu sein aber vielleicht kann der ein oder andere mal den Code reviewen.

Was soll es machen?:
Ich wollte gerne ein Reading haben, dass die min und max Temperatur in einem bestimmten Zeitraum aufzeigt. Zum Beispiel dass die Tiefsttemperatur in den letzten 24 Stunden bei -8,4 (Stand 22:12) liegt.

Wie soll das funktionieren?:
Ausgehend vom dewpoint Modul habe ich ein eigenes Modul gebaut. Mit der Eingabe von den zu überwachenden Reading werden zwei neue Readings im Device/Channel erzeugt. Sieht bei mir gerade so aus:
define <name> minmax <reading-name> <prefix> <time span>
also:
define minmaxtemp24h minmax measured-temp measured-temp 24h
erzeugt die Readings:
measured-temp-24h-max   -8.0
measured-temp-24h-min   -8.4

Soweit scheint es erstmal zu funktionieren.
Dennoch sind mir noch ein paar Dinge unklar...

Fangen wir in Zeile 1 an.
$Id$ -> Was soll da alles rein?

Weiteres Problem ist dass sich das Reading nicht aktualisiert. Bedeutet wenn ich im Device bin und der Wert sich ändert ich das nicht signalisiert bekomme. Bei andere Readings wie "measured-temp" wird der Zeitstempel rot, bei meinen Readings sehe ich das erst wenn ich die Seite neu lade.

Naja lasst euch einfach mal dran aus.

Ach so, Zeitangaben zZ nur in "h" für Stunden oder "d" für Tage.
Titel: Antw:Min Max in einem bestimmten Zeitraum
Beitrag von: micomat am 19 Januar 2016, 06:36:21
Warum nicht einfach das statistics Modul?  8)
Titel: Antw:Min Max in einem bestimmten Zeitraum
Beitrag von: magentouser am 19 Januar 2016, 07:33:11
sicherlich weil der user schrieb "da ich heute Langweile hatte"
Titel: Antw:Min Max in einem bestimmten Zeitraum
Beitrag von: oberlon am 19 Januar 2016, 12:58:11
Zitat von: micomat am 19 Januar 2016, 06:36:21
Warum nicht einfach das statistics Modul?  8)
Wie schon gesagt, einerseits Langeweile, dann kannte ich das statistics Modul noch nicht, wollte auch mal schauen wie man was an fhem mit perl dran kriegt.
Ist einfach ein Versuch gewesen  :)

Aber danke für die Info mit dem statistics Modul. Das schaue ich mir mal genauer an. Vielleicht kann ich dann meine Fragen selbst beantworten.
Titel: Antw:Min Max in einem bestimmten Zeitraum
Beitrag von: oberlon am 20 Januar 2016, 21:35:46
Ist natürlich ein Fehler drin in der ganzen Sache.
Mir fehlen auch die passenden Perl Kenntnisse um es ordentlich zu lösen, komme aus der Java Welt und mir fehlen halt die passenden Module/Klassen.
Mal sehen, vielleicht baue ich was um alle Nachrichten nach JMS zu schieben... da fühle ich mich wohler ;)

Hier ist erstmal Ende.

Danke noch einmal an alle FHEM Entwickler. Ihr macht einen tollen Job! Immer weiter so!