Hallo Andi


    Beispiel: die Quelltemperatur meiner Wärmepumpe schwankt täglich.
    Je länger die Pumpe in Betrieb ist, desto mehr kühlt die Sonde
    aus. Nach einer Pause "regeneriert" sich das ganze. Zur
    Überwachung logge ich die Eintrittstemperatur per 1wire. Nun
    interessiert mich die Minimaltemperatur, und zwar tagesweise und
    mit 4 verschiedenen channels (3 versch. Eintrittsstränge, 1 gesamter).


Ein schönes Anwendungsszenario! Aggregation gilt natürlich auf für Temperaturen. Tatsächliche ist VZ heute schon unglaublich flexibel.

Ja, aber offenbar bin ich dabei noch viel zu sehr in der echten Datenebene und nicht bei der mw.
Erstmal fallen mir dazu virtuelle Kanäle ein (mein dev Zweig), die Du dann etwa so abrufen könntest:

mw/data/<virtual-uuid>.json/from=4+days+ago&group=day
Frage dazu:
hast du irgendwo schon mal ein kleines How-To geschrieben, wie man parallel einen dev-Zweig und den normalen master-Zweig parallel laufen lassen kann? Bin ja leider mit linux und git nicht soooo vertraut. Reizen tät's mich ja shcon, möchte mir aber auf keinen Fall mein aktuell gut laufendes System verhunzen.


Das Ganze gibts natürlich (für physische Kanäle schon heute) auch direkt als Grafik:

mw/data/<virtual-uuid>.jpeg/from=4+days+ago&group=day
Hm, also z.B. http://192.168.178.21/data/3e744e20-f2dc-11e2-ab3d-e5709e8f1bd3.jpeg/from=4+days+ago&group=day
gibt einen 404 aus.
Meinst du vielleicht
http://192.168.178.21/middleware.php/data/3e744e20-f2dc-11e2-ab3d-e5709e8f1bd3.jpeg/from=4+days+ago&group=day
?Dann bekomm ich

{"version":"0.3","exception":{"message":"Missing 
format","type":"Exception","code":0}}

Wie gehts richtig?

Noch schöner wär's jetzt wenn man statt des virtuellen Kanales der erst angelegt werden muss auch ad-hoc Abfragen einbauen könnte. Das kosten max 2h sowas zu integrieren:

mw/adhoc.jpeg/from=4+days+ago&group=day&rule=min(in1(),in2(),in3())&uuid1=<abc>&uuid2=<def>&uuid3=<hij>

Damit hätten wir fast Dein Szenario, allerdings nur mit Tageweise aggregierten Daten. Was Du damit nicht bekommst ist das Minimum eines Tages. Ließe sich sicher auch implementieren, dann gibt es allerdings keine Hilfe der Aggregate Tabelle, mithin würde es wieder deutlich langsamer. Das müsste Dich bei der beschränkten Anzahl von Tagen aber nicht weiter interessieren.
Ja. Naja. Typischerweise beobachtet man in meinem konkreten Beispiel die Soletemperaturen im Verlauf einer Heizperiode. Interessant ist es dann im Hochwinter bzw. nach hinten raus, wann der Tiefststand erreicht ist und sich die Sonden wieder zu erholen beginnen. Insofern geht die Query über max. 6 Monate (Okt-April). Müsste doch auch ohne aggregate-tabelle machbar sein.

Ich fände es spannend welche anderen Anwendungsszenarien es noch gibt damit es keine Punktlösung wird...
Punktlösung muss sicher nicht sein. Ich würde mir das noch etwas flexibler wünschen: für mich ist es kein Ding, per SQL an die gewünschten DAten zu kommen. Deswegen wäre meine Wunschlösung so, dass ich meine sql-query an die mw übertrage und das dann schön in einem Diagramm bekomme. Natürlich mit Einschränkungen, z.B. dass die Diagramm-Spezifikationen ja auch irgendwie mitgeteilt werden müssten (x-Achse=..., y-Achse=..., datenreihe1=..., datenreihe2=...) Aber dann wär es flexibel und jeder könnte seinen Wünschen entsprechend arbeiten, man hätte die ganzen Funktionialität von SQL zur Verfügung. Ist aber dann direkt aus der DB und man muss wissen, wie man da genau rankommt.

Machbar?

LG Heiko

Antwort per Email an