[vz-dev] QnD-Hacks CSV-Export

Andreas Goetz cpuidle at gmail.com
Tue May 27 19:07:52 CEST 2014


Hallo Florian,

2014-05-26 15:57 GMT+02:00 Florian Knodt <f.knodt at yotaweb.de>:

> Mahlzeit,
>
> ich habe vor kurzem eine Steuerungsanlage aus den frühen 90ern per
> Volkszähler "Web-fähig" gebastelt. Leider war der CSV-Export noch nicht
> ganz das, was die hiesigen Prüfer als brauchbar empfanden. Anbei ein
> paar Anregungen, vielleicht kann es dem ein oder anderen als Startpunkt
> dienen.
>
> Disclaimer: Anlage musste schnell online gehen, daher eher quick&dirty.
>

Man sieht es ;)


> 001_default_tsfmt.patch
>

Scherz beiseite- die Änderungen an View.php verstehe ich nicht- ihr habt
einfach tsfmt=sql auf relativ komplizierte Weise gesetzt, oder?

Erlaubt Exportmodulen das standardmäßige Datumsformat vorzugeben. Als
> Beispiel verwendet CSV nun - sofern nichts anderes geforders - sql
> (YYYY-mm-dd HH:MM:SS) statt timestamp. Da CSV nach meiner Erfahrung in
> den meisten Fällen in Excel o.Ä. zur menschengestützten Ansicht landet
> ist dieses Zeitformat imo sinnvoller.
>

Absolut. Ich denke für's Frontend würde ich das eher in das ins Frontend/JS
verlagern- dann brauchts keine Viewanpassungen.

CSV.php
>
> Ist eine alternative^wzurechtgebastelte Implementierung des originalen
> CSV-Export. Statt alle Kanäle untereinander zu schreiben werden die
> Daten gesammelt und in eine Tabelle (uuid;timestamp) umgebogen.
>
> - Da die Daten im RAM gesammelt werden eher nicht für große Datenmengen.
>

Auf das Problem bin ich auch gestossen. Aktuell exportiert das Frontend
darüber hinaus _alle_ Daten ohne from/to- damit kann man sich einen kleinen
Raspi schnell abschießen.

Eine (elegante) Lösung könnte so aussehen, dass der Controller alle
Interpreter instanziiert und diese vom View erst bei Bedarf abgerufen
werden ("streaming"). Dann könnte der View entscheiden ob er erst sammeln
will ("en bloc"- schlecht für den Speicher) oder "on the fly" einliest.
Leider gibt es fälle wo es "en bloc" sein muss, z.B. beim JSON export da
die PHP-interne Funktion einfach Welten schnell ist.

- Da keine Zusammenfassung stattfindet für Kanäle mit unterschiedlichen
>   Timestamps nur mäßig brauchbar
>
> Meine Daten kommen nur 1x am Tag rein und werden entsprechend mit einem
> Timestamp von Punkt 0 Uhr an die Middleware verfüttert, daher für meinen
> Zweck noch passend.
>

> Florian
>

vg
Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20140527/aae340c1/attachment.html>


More information about the volkszaehler-dev mailing list