[vz-users] Viele Messwerte auf einmal importieren

Frank Richter frank.richter83 at gmail.com
Wed Jul 15 18:14:53 CEST 2015


Hallo Elias,

cool, dann bist du schon weiter wie ich - zu viele Baustellen im Moment...
Andreas war schneller, aber ich würde das genauso sehen: Vermutlich
berechnest du die Timestamps aus der Ortszeit, aber später geht das
System davon aus, dass es sich um UTC handelt und rechnet deshalb 2
Stunden drauf. Welche Funktion benutzt du zum Errechnen der Timestamp?
Entweder musst du da die Zeitzone mitgeben, oder einfach, je nach
Sommer- oder Winterzeit, 1 oder 2 Stunden von den Zeiten in deinem
CSV-File abziehen.
Läuft vz bei dir auch auf einem RPi? Wenn ja: Wie lang läuft dein
Python-Script für so einen Import?

Viele Grüße
Frank

Am 15. Juli 2015 um 17:59 schrieb Andreas Goetz <cpuidle at gmail.com>:
> Nochmal anders gefragt ;)
>
> 2015-07-15 17:56 GMT+02:00 Andreas Goetz <cpuidle at gmail.com>:
>>
>> Welche Timezone nutzt PHP bei Dir? Welche ist für MySQL eingestellt?
>
>
>>
>> 2015-07-15 17:43 GMT+02:00 Elias <saile at gmx.de>:
>>>
>>> ...
>>>
>>> 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.
>
>
> Der Timestamp ist UTC. Frontend/Browser/PHP/Datenbank laufen normalerweise
> auf GMT+2 (Deutsche Sommerzeit). Genau das sagt auch der epochconverter.
>
> Stimmt also alles, Du erwartest nur das falsche Datum zur richtigen Zeit.
>
>>>
>>> Viele Grüße,
>>> Elias
>
>
> Viele Grüße,
> Andreas
>
>>>
>>> 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
>>> >>
>>> >>
>>> >>
>>>
>>>
>>
>


More information about the volkszaehler-users mailing list