[vz-users] Viele Messwerte auf einmal importieren

Andreas Goetz cpuidle at gmail.com
Wed Jul 15 18:21:34 CEST 2015


2015-07-15 18:14 GMT+02:00 Frank Richter <frank.richter83 at gmail.com>:

> 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
>

Naja- Timestamp ist Timestamp. Der ist eindeutig und kann je nach Zeitzone
in eine Uhrzeitumgerechnet werden.


> Stunden drauf. Welche Funktion benutzt du zum Errechnen der Timestamp?
>

Entweder sollte der Timestamp nicht 00:00 Uhr UTC entsprechen (sprich der
TS ist schon falsch errechnet) oder Elias muss die Erwartung aufgeben dass
er 00:00 Uhr UTC auch im Browser bei 00:00 Uhr Local Time wieder findet.

Dafür gibts übrigens im Code von index.html eine auskommentierte
Zeitzonenunterstützung, aber das würde an dieser Stelle nur noch mehr
verwirren...


> 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.
>

Einfach bei Erzeugung der Timestamps 2 Stunden = 7200 Sekunden abziehen,
schon passt es zu Deinen Erwartungen.


> 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,
Andreas


>
> 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
> >>> >>
> >>> >>
> >>> >>
> >>>
> >>>
> >>
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20150715/e7b6bcb0/attachment-0001.html>


More information about the volkszaehler-users mailing list