Re: [vz-dev] Error executing grouped queries
Andreas Goetz, 11.04.2013 08:21: Wäre Klasse wenn die Anpassungen (inkl. Fix für from/to) es ins zentrale Git schaffen würden. Ich hab mal nen pull-request gestellt. Vielleicht ist JO so gnädig :) Mein fork sollte aber auch immer eine funktionale Version haben, ich committe normalerweise nur, wenn ich das lokal getestet habe. Mal schauen, ob group mal richtig gemacht wird. Eine Idee dazu hätte ich schon, die zufälligerweise durch eine andere Änderung erheblich vereinfacht wird (Werte isochron zusammenfassen statt anhand der Anzahl). Hab nur aktuell keine Zeit dafür...
Re: [vz-dev] Error executing grouped queries
Hi, Andreas Goetz, 03.04.2013 19:50: Ja, die Logik in Interpreter ist da etwas kaputt. Ich hab das jetzt mal gefixt. Wäre Klasse wenn der Fix es in die offizielle Version schaffen würde (mit Update der Doku..)- die Logik ist wirklich krank :/ Das dürfte schon klappen :) Ok, schicke ich per PM hinterher. Hab ich mir angeschaut. Das Problem ist, daß du im März Daten hast, aber nicht im Februar. Die Auswertung läuft aber so, daß mit group die Daten einzelner Monate zusammengefasst werden und dann von processData wie sonst auch verarbeitet werden, d.h. vom ersten Tupel wird nur der timestamp genommen und der Rest verworfen, bei dir eben die zusammengefassten Daten vom März. Ohne mittelgroße Umbauten oder unschöne Hacks ist das aber leider nicht zu fixen.Ich schau's mir evt. nochmal an, aber du solltest nicht darauf warten... Workaround für dich: Einen einzelnen Impuls (mit Wert 0) für Ende Februar einfügen (28.2. 23:59:59).
Re: [vz-dev] Error executing grouped queries
Hallo, so richtig click macht es bei mir noch nicht. Für Gruppierung nach Monaten kann ich das ja nachvollzieren- aber auch bei Gruppierung nach Wochen oder Tagen kommt nix raus- und spätestens hier müsste es ja 2 Tupel geben: http://localhost/vz/middleware.php/data/8f20eb60-60df-11e2-81a1-3d3ab836429e.json?group=dayfrom=1.1.2013to=today Letztlich- fällt mir gerade noch ein- wenn group=monat oder jahr angegeben ist wäre es evtl. auch sinnvoll, das from-to Intervall, falls nicht angegeben, automatisch auf einen sinnvollen Wert, z.B. dieses Jahr zu setzen? vg Andreas On 04.04.2013 18:25, Jakob Hirsch wrote: Hi, Andreas Goetz, 03.04.2013 19:50: Ja, die Logik in Interpreter ist da etwas kaputt. Ich hab das jetzt mal gefixt. Wäre Klasse wenn der Fix es in die offizielle Version schaffen würde (mit Update der Doku..)- die Logik ist wirklich krank :/ Das dürfte schon klappen :) Ok, schicke ich per PM hinterher. Hab ich mir angeschaut. Das Problem ist, daß du im März Daten hast, aber nicht im Februar. Die Auswertung läuft aber so, daß mit group die Daten einzelner Monate zusammengefasst werden und dann von processData wie sonst auch verarbeitet werden, d.h. vom ersten Tupel wird nur der timestamp genommen und der Rest verworfen, bei dir eben die zusammengefassten Daten vom März. Ohne mittelgroße Umbauten oder unschöne Hacks ist das aber leider nicht zu fixen.Ich schau's mir evt. nochmal an, aber du solltest nicht darauf warten... Workaround für dich: Einen einzelnen Impuls (mit Wert 0) für Ende Februar einfügen (28.2. 23:59:59).
Re: [vz-dev] Error executing grouped queries
Hallo Jakob, habe mir das jetzt nochmal in Ruhe angeschaut. mal möchte ich Dir aber ein kleines goodie zeigen dass Dich vielleicht interessieren wird- nämlich ein kleines Dashboard für meine PV-Anlage das ich als iPhone-WebApp zusammengedübelt habe: Wenn's da Interesse gibt kann ich gerne Code beitragen. Die Widgets sind aus dem emoncms und auf jQuery widgets umgebaut... Sieht gut aus, bringt mir mit meinen Android-Geräten allerdings nix, oder? Ist alles HTML+JS- läuft überall. Die Widgets sind von emoncms.org ausgeborgt und für jQuery angepasst. Komisch- da fromto den gleichen Wert haben, aber anders angegeben waren! Damit glaube ich, dass mindestens noch ein weiteres Problem besteht- sobald from gesetzt ist, wird dieses nämlich in der Abfrage von to als now() gesetzt- die Abfragen sind also counterintuitiv _immer_ relativ zueinander. Ja, die Logik in Interpreter ist da etwas kaputt. Ich hab das jetzt mal gefixt. Wäre Klasse wenn der Fix es in die offizielle Version schaffen würde (mit Update der Doku..)- die Logik ist wirklich krank :/ Die Gruppierung läuft allerdings weiter nicht- auch nicht mit: http://localhost/vz/middleware.php/data/8f20eb60-60df-11e2-81a1-3d3ab836429e.json?from=1.1.2013to=1.4.2013group=month Das hab ich gerade mal mit meinem Test-Channel probiert, das funktioniert problemlos: $ curl 'http://localhost/vzdemo/middleware.php/data/x.csv?tsfmt=sqlfrom=1.1.2013to=1.4.2013group=month' # source: volkszaehler.org # version: 0.2 # uuid: x # from: 2013-03-31 23:59:28 # to: 2013-04-01 00:01:29 # min: 2013-03-31 23:59:28 = 297,892 # max: 2013-03-31 23:59:28 = 297,892 # average: 297,892 # consumption: 10 # rows: 2 2013-03-31 23:59:28;297,892;2 Mhm. Bei mir tatsächlich nicht. Ohne group:
Re: [vz-dev] Error executing grouped queries
Hi Jakob, die letzten Commits in Deinem Git sind ewig alt- bin ich wirklich an der richtigen Stelle gelandet bzw. ist alles drin? Welcher Branch? vg Andreas On 02.04.2013 01:45, Jakob Hirsch wrote: On 30.03.2013 16:00, Andreas Goetz wrote: Klasse- stehe zum Testen bereit (gerne auch an cpui...@gmx.de). Was die Du kannst mal meinen Fork unter git://github.com/jahir/volkszaehler.org.git probieren. Leistungsberechnung angeht habe ich ein weiteres Problem- nämlich die Tatsache, dass die Durchschnittswerte alle falsch sind. Es wird jeweils 0 (oder ein Werte nahe 0) ausgegeben, auch wenn eindeutig mehr angefallen ist. Hm, das passt bei mir: # from: 2013-03-31 23:59:28 # to: 2013-04-02 01:38:51 # min: 2013-04-01 06:59:14 = 290,816 # max: 2013-04-01 21:59:34 = 298,388 # average: 297,783 # consumption: 7640 # rows: 27 2013-03-31 23:59:28;298,279;60 2013-04-01 00:59:49;297,348;59 2013-04-01 01:59:20;298,1;60 2013-04-01 02:59:43;298,175;59 ... Mhm- bei mir haut das mit dem Average nicht hin. Wenn's bei Dir läuft dann muss ich wohl auch an der Stelle ein bisschen in den Code einsteigen. Du kannst ja mal einen relevanten Zeitraum exportieren (vorzugsweise mit mysqldump volkszaehler data --where=channel_id=... and timestamp between ... and ...), dann kann ich mal schaue, was da falschläuft.
Re: [vz-dev] Error executing grouped queries
On 02.04.2013 08:31, Andreas Goetz wrote: die letzten Commits in Deinem Git sind ewig alt- bin ich wirklich an der richtigen Stelle gelandet bzw. ist alles drin? Welcher Branch? Was meinst du mit ewig alt? Laut https://github.com/jahir/volkszaehler.org/commits/master ist der letzte commit vom 1.4.
Re: [vz-dev] Error executing grouped queries
Hallo Jakob, bitte entschuldige- keine Ahnung was ich da gesehen habe... Werde heute testen und mich dann wieder melden. Viele Grüße, Andreas 2013/4/2 Jakob Hirsch j...@plonk.de On 02.04.2013 08:31, Andreas Goetz wrote: die letzten Commits in Deinem Git sind ewig alt- bin ich wirklich an der richtigen Stelle gelandet bzw. ist alles drin? Welcher Branch? Was meinst du mit ewig alt? Laut https://github.com/jahir/volkszaehler.org/commits/master ist der letzte commit vom 1.4.
Re: [vz-dev] Error executing grouped queries
On 30.03.2013 16:00, Andreas Goetz wrote: Klasse- stehe zum Testen bereit (gerne auch an cpui...@gmx.de). Was die Du kannst mal meinen Fork unter git://github.com/jahir/volkszaehler.org.git probieren. Leistungsberechnung angeht habe ich ein weiteres Problem- nämlich die Tatsache, dass die Durchschnittswerte alle falsch sind. Es wird jeweils 0 (oder ein Werte nahe 0) ausgegeben, auch wenn eindeutig mehr angefallen ist. Hm, das passt bei mir: # from: 2013-03-31 23:59:28 # to: 2013-04-02 01:38:51 # min: 2013-04-01 06:59:14 = 290,816 # max: 2013-04-01 21:59:34 = 298,388 # average: 297,783 # consumption: 7640 # rows: 27 2013-03-31 23:59:28;298,279;60 2013-04-01 00:59:49;297,348;59 2013-04-01 01:59:20;298,1;60 2013-04-01 02:59:43;298,175;59 ... Mhm- bei mir haut das mit dem Average nicht hin. Wenn's bei Dir läuft dann muss ich wohl auch an der Stelle ein bisschen in den Code einsteigen. Du kannst ja mal einen relevanten Zeitraum exportieren (vorzugsweise mit mysqldump volkszaehler data --where=channel_id=... and timestamp between ... and ...), dann kann ich mal schaue, was da falschläuft.
Re: [vz-dev] Error executing grouped queries
Hallo Jakob hi, Developers, ich habe probleme gruppierte anfragen auszuführen: http://localhost/vz/middleware.php/data/8f20eb60-60df-11e2-81a1-3d3ab836429e.json?group=year Cool, group= kannte ich selbst garnicht. Mit was für einem Channel benutzt du das denn? Channel vom Typ Strommesser (HW selbst gebaut). Drauf gekommen bin ich weil ich mir ein kleines Dashboard bauen wollte und dafür aktuelle/ aggrgierte Daten brauchte- hab's in der Doku gefunden. dürfte DataIterator __construct sein: // skipping first reading, just for getting first timestamp $this-from = $this-stmt-fetchColumn(); Wenn es nur 1 row im resultset gibt verschwindet dann genau diese. Wenn die Zeile auskommentiert wird läuft es. Jein. Für group wird die selbe Leistungsberechnung durchgeführt wie sonst auch, und dafür werden eben mindestens zwei Zeitstempel gebraucht. group fasst aber komplette Zeiträume vorher zusammen, so daß pro group-Intervall nur ein Tupel (timestamp, value-sum) rauskommt. Damit vom aktuellen group-Intervall was angezeigt werden kann, braucht man also noch den letzten Zeitstempel des vorherigen Intervalls. Für normale Queries wird der schon geholt, ist also kein großes Problem, daß auch für group zu machen. Ist auch eine gute Gelegenheit, getData etwas aufzuhübschen. Ich mach das mal. Klasse- stehe zum Testen bereit (gerne auch an cpui...@gmx.de). Was die Leistungsberechnung angeht habe ich ein weiteres Problem- nämlich die Tatsache, dass die Durchschnittswerte alle falsch sind. Es wird jeweils 0 (oder ein Werte nahe 0) ausgegeben, auch wenn eindeutig mehr angefallen ist. Etwas verwirrend ist aber auch die Ausgabe, da (wie sonst auch) der timestamp des Intervall-Starts angegeben wird, der liegt aber jeweils im vorherigen group-Interval. Beispiel (Testdaten, als csv): # from: 2013-03-17 23:59:04 # to: 2013-03-29 02:25:05 # min: 2013-03-19 23:31:34 = 1,377 # max: 2013-03-18 23:59:59 = 298,174 # average: 83,773 # consumption: 22320 # rows: 6 2013-03-17 23:59:04;298,143;1432 2013-03-18 23:59:59;298,174;1403 2013-03-19 23:31:34;1,377;53 2013-03-27 23:59:09;298,138;1431 2013-03-28 23:59:05;297,935;145 Die letzte Zeile bedeutet, daß von 2013-03-28 23:59:05 bis jetzt (genauer: zum letzten vorliegenden Impuls) die Durchschnittsleistung 297,935W war. Mhm- bei mir haut das mit dem Average nicht hin. Wenn's bei Dir läuft dann muss ich wohl auch an der Stelle ein bisschen in den Code einsteigen. Viele Grüße, Andreas