[vz-dev] Error executing grouped queries
Andreas Goetz
cpuidle at gmail.com
Sat Mar 30 16:00:38 CET 2013
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 cpuidle at 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
More information about the volkszaehler-dev
mailing list