Re: [vz-dev] Error executing grouped queries

2013-04-11 Diskussionsfäden Jakob Hirsch
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

2013-04-04 Diskussionsfäden Jakob Hirsch
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

2013-04-04 Diskussionsfäden Andreas Goetz

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

2013-04-03 Diskussionsfäden Andreas Goetz

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

2013-04-02 Diskussionsfäden Andreas Goetz

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

2013-04-02 Diskussionsfäden Jakob Hirsch
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

2013-04-02 Diskussionsfäden Andreas Goetz
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

2013-04-01 Diskussionsfäden Jakob Hirsch
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

2013-03-30 Diskussionsfäden Andreas Goetz

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