[vz-users] Viele Messwerte auf einmal importieren

Elias saile at gmx.de
Wed Jul 15 17:43:22 CEST 2015


Hallo Frank,

vielen Dank für deinen Hinweis, dass die Daten als JSON-Array übergeben
werden müssen!
Ich hab das jetzt in Python umgesetzt, das klappt soweit schon mal ganz
gut für einen Tagessatz (> 5000 Daten).

Nur leider werden die Daten im Frontend mit zwei Stunden Versatz
dargestellt. Die Timestamps scheinen aber zu stimmen, wenn ich den
ersten des Tages (1436400015000) mit dem Online-Konverter:
http://www.epochconverter.com teste, dann kommt korrekt der 9. Juli
2015, 00:00:15 heraus. Im Frontend startet es bei 02:00:15. In der
volkszaehler.conf.php habe ich die Variable $config['timezone'] mal auf
'UTC'; gesetzt, das ändert aber leider auch nichts.

Viele Grüße,
Elias


Am 14.07.15 um 15:42 schrieb Frank Richter:
> Hallo Elias,
>
> ich bin da kein Profi, aber wenn du deinen Link so im Browser
> aufrufst, ist es glaub ich kein POST-, sondern ein GET-Request. Soweit
> ich weiß, müssen bei POST die Daten im HTML-Body verpackt werden.
>
> Andreas hat es letzte Woche für vzclient erklärt, dort müssen die
> Paare aus Timestamp und Wert als JSON formatiert übergeben werden:
> vzclient -u uuid -j "[[timestamp,value],[timestamp,value],[.......]]"
> Das könntest du alternativ versuchen. Es ist aber nicht ganz klar, wie
> viele Daten mit so einem Aufruf maximal übertragen werden können,
> möglicherweise gibt es Beschränkungen durch die Kommandozeile.
>
> Du wirst wohl ein Script brauchen, das dir einen POST-Request
> zusammenbaut und die Daten als JSON formatiert enthält.
>
> Viele Grüße
> Frank
>
> Am 14. Juli 2015 um 15:05 schrieb Elias Dörre <saile at gmx.de>:
>> @Andreas: Wie kann ich denn mehrere Werte mit einem POST-Request übergeben?
>>
>> Wenn ich zB folgenden Link erstelle:
>> http://demo.volkszaehler.org/middleware.php/data/e2d7b050-2a12-11e5-a96d-7b714e48c78c.json?operation=add&ts=1436878322158&value=14&ts=1436878514615&value=33
>> dann wird nur der letzte Wert in die Datenbank geschrieben.
>>
>> Viele Grüße,
>> Elias
>>
>>
>>
>> Am 14.07.2015 um 13:44 schrieb Frank Richter <frank.richter83 at gmail.com>:
>>
>>
>> Hallo Elias,
>>
>>
>> genau, das alte Thema war von mir:-)
>>
>> Ich bin noch nicht dazu gekommen, meinen Datenimport durchzuziehen,
>>
>> ich hab nur schon ein bisschen nach möglichen Vorgehensweisen
>>
>> gestöbert. Mein aktueller Plan ist dieser: Hilfsdatenbank erstellen
>>
>> und per SQL die Daten mit LOAD DATA INFILE dorthin importieren, weil
>>
>> das wohl äußerst fix geht. Dann mit entsprechenden SELECT und
>>
>> INSERT-Abfragen die Datensätze einsammeln und samt channel_id und
>>
>> richtig konvertiertem Timestamp in die VZ-Datenbank schreiben.
>>
>> Zumindest in der Theorie scheint mir das eine brauchbare Lösung zu
>>
>> sein...
>>
>>
>> Viele Grüße
>>
>> Frank
>>
>>
>> Am 14. Juli 2015 um 13:19 schrieb Elias Dörre <saile at gmx.de>:
>>
>> Hey,
>>
>>
>> was ich am Volkszähler besonders liebe ist die aktive Community, schon nach
>>
>> wenigen Minuten gleich zwei Antworten! :)
>>
>>
>> @Andreas: Danke für den Hinweis, habe die Konversation gefunden (Subjekt
>>
>> ist: "Netzspannungsmessung" falls noch jemand danach sucht)
>>
>>
>> @Frank und Andreas: es sind 5760 Messwerte pro Tag und Kanal. Ich versuche
>>
>> es mal mit einem gemeinsamen POST. Ansonsten ist das direkte schreiben in
>>
>> die Datenbank natürlich auch ne super Idee!
>>
>> Frank: Hast du schon ein funktionierendes Script? Darüber wäre ich natürlich
>>
>> auch sehr dankbar. Ansonsten poste ich meines sobald es läuft.
>>
>>
>> Viele Grüße,
>>
>> Elias
>>
>>
>> Am 14.07.2015 um 12:59 schrieb Andreas Goetz <cpuidle at gmail.com>:
>>
>>
>> Moin,
>>
>>
>> 2015-07-14 12:54 GMT+02:00 Frank Richter <frank.richter83 at gmail.com>:
>>
>>
>> Hallo Elias,
>>
>>
>> wie viele sind denn "viele Messwerte"? Wenn es tausende sind, wird es
>>
>> über die Middleware zäh, dann machst du das besser auf
>>
>> Datenbank-Ebene.
>>
>>
>> Viele Grüße
>>
>> Frank
>>
>>
>> Am 14. Juli 2015 um 12:48 schrieb Elias Dörre <saile at gmx.de>:
>>
>> Moin,
>>
>>
>> ich habe Messwerte von einem externen Logger, der mir die Daten als CSV
>>
>> ausgibt. Diese Daten würde ich super gerne in den Volkszähler
>>
>> importieren um
>>
>> sie dort visualisieren zu können.
>>
>> Gibt es eine Möglichkeit viele Messwerte auf einmal zu importieren oder
>>
>> muss
>>
>> jeder Messwert mit POST
>>
>>
>> http://demo.volkszaehler.org/middleware.php/data/550e8400-e29b-11d4-a716-446655441352.json?ts=1284677961150&value=12
>>
>> (vgl. wiki.volkszaehler.org/development/api/reference) übergeben werden?
>>
>>
>>
>> Siehe Suchfunktion (das Thema hatten wir erst letzte Woche) und API. Solange
>>
>> es 1 Kanal betrifft kannst Du beliebig viele Werte in einen POST Request
>>
>> packen.
>>
>>
>> Viele Grüße,
>>
>> Andreas
>>
>>
>>
>>
>> Viele Grüße,
>>
>> Elias
>>
>>
>>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: OpenPGP digital signature
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20150715/72252f70/attachment.sig>


More information about the volkszaehler-users mailing list