<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-07-15 18:14 GMT+02:00 Frank Richter <span dir="ltr"><<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hallo Elias,<br>
<br>
cool, dann bist du schon weiter wie ich - zu viele Baustellen im Moment...<br>
Andreas war schneller, aber ich würde das genauso sehen: Vermutlich<br>
berechnest du die Timestamps aus der Ortszeit, aber später geht das<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
System davon aus, dass es sich um UTC handelt und rechnet deshalb 2<br></blockquote><div><br></div><div>Naja- Timestamp ist Timestamp. Der ist eindeutig und kann je nach Zeitzone in eine Uhrzeitumgerechnet werden.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Stunden drauf. Welche Funktion benutzt du zum Errechnen der Timestamp?<br></blockquote><div><br></div><div>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.<br><br></div><div>Dafür gibts übrigens im Code von index.html eine auskommentierte Zeitzonenunterstützung, aber das würde an dieser Stelle nur noch mehr verwirren...<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Entweder musst du da die Zeitzone mitgeben, oder einfach, je nach<br>
Sommer- oder Winterzeit, 1 oder 2 Stunden von den Zeiten in deinem<br>
CSV-File abziehen.<br></blockquote><div><br></div><div>Einfach bei Erzeugung der Timestamps 2 Stunden = 7200 Sekunden abziehen, schon passt es zu Deinen Erwartungen.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Läuft vz bei dir auch auf einem RPi? Wenn ja: Wie lang läuft dein<br>
Python-Script für so einen Import?<br></blockquote><div><br></div><div>Viele Grüße,<br></div><div>Andreas<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Viele Grüße<br>
<span class="HOEnZb"><font color="#888888">Frank<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
Am 15. Juli 2015 um 17:59 schrieb Andreas Goetz <<a href="mailto:cpuidle@gmail.com">cpuidle@gmail.com</a>>:<br>
> Nochmal anders gefragt ;)<br>
><br>
> 2015-07-15 17:56 GMT+02:00 Andreas Goetz <<a href="mailto:cpuidle@gmail.com">cpuidle@gmail.com</a>>:<br>
>><br>
>> Welche Timezone nutzt PHP bei Dir? Welche ist für MySQL eingestellt?<br>
><br>
><br>
>><br>
>> 2015-07-15 17:43 GMT+02:00 Elias <<a href="mailto:saile@gmx.de">saile@gmx.de</a>>:<br>
>>><br>
>>> ...<br>
>>><br>
>>> Nur leider werden die Daten im Frontend mit zwei Stunden Versatz<br>
>>> dargestellt. Die Timestamps scheinen aber zu stimmen, wenn ich den<br>
>>> ersten des Tages (1436400015000) mit dem Online-Konverter:<br>
>>> <a href="http://www.epochconverter.com" rel="noreferrer" target="_blank">http://www.epochconverter.com</a> teste, dann kommt korrekt der 9. Juli<br>
>>> 2015, 00:00:15 heraus. Im Frontend startet es bei 02:00:15. In der<br>
>>> volkszaehler.conf.php habe ich die Variable $config['timezone'] mal auf<br>
>>> 'UTC'; gesetzt, das ändert aber leider auch nichts.<br>
><br>
><br>
> Der Timestamp ist UTC. Frontend/Browser/PHP/Datenbank laufen normalerweise<br>
> auf GMT+2 (Deutsche Sommerzeit). Genau das sagt auch der epochconverter.<br>
><br>
> Stimmt also alles, Du erwartest nur das falsche Datum zur richtigen Zeit.<br>
><br>
>>><br>
>>> Viele Grüße,<br>
>>> Elias<br>
><br>
><br>
> Viele Grüße,<br>
> Andreas<br>
><br>
>>><br>
>>> Am 14.07.15 um 15:42 schrieb Frank Richter:<br>
>>> > Hallo Elias,<br>
>>> ><br>
>>> > ich bin da kein Profi, aber wenn du deinen Link so im Browser<br>
>>> > aufrufst, ist es glaub ich kein POST-, sondern ein GET-Request. Soweit<br>
>>> > ich weiß, müssen bei POST die Daten im HTML-Body verpackt werden.<br>
>>> ><br>
>>> > Andreas hat es letzte Woche für vzclient erklärt, dort müssen die<br>
>>> > Paare aus Timestamp und Wert als JSON formatiert übergeben werden:<br>
>>> > vzclient -u uuid -j "[[timestamp,value],[timestamp,value],[.......]]"<br>
>>> > Das könntest du alternativ versuchen. Es ist aber nicht ganz klar, wie<br>
>>> > viele Daten mit so einem Aufruf maximal übertragen werden können,<br>
>>> > möglicherweise gibt es Beschränkungen durch die Kommandozeile.<br>
>>> ><br>
>>> > Du wirst wohl ein Script brauchen, das dir einen POST-Request<br>
>>> > zusammenbaut und die Daten als JSON formatiert enthält.<br>
>>> ><br>
>>> > Viele Grüße<br>
>>> > Frank<br>
>>> ><br>
>>> > Am 14. Juli 2015 um 15:05 schrieb Elias Dörre <<a href="mailto:saile@gmx.de">saile@gmx.de</a>>:<br>
>>> >> @Andreas: Wie kann ich denn mehrere Werte mit einem POST-Request<br>
>>> >> übergeben?<br>
>>> >><br>
>>> >> Wenn ich zB folgenden Link erstelle:<br>
>>> >><br>
>>> >> <a href="http://demo.volkszaehler.org/middleware.php/data/e2d7b050-2a12-11e5-a96d-7b714e48c78c.json?operation=add&ts=1436878322158&value=14&ts=1436878514615&value=33" rel="noreferrer" target="_blank">http://demo.volkszaehler.org/middleware.php/data/e2d7b050-2a12-11e5-a96d-7b714e48c78c.json?operation=add&ts=1436878322158&value=14&ts=1436878514615&value=33</a><br>
>>> >> dann wird nur der letzte Wert in die Datenbank geschrieben.<br>
>>> >><br>
>>> >> Viele Grüße,<br>
>>> >> Elias<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Am 14.07.2015 um 13:44 schrieb Frank Richter<br>
>>> >> <<a href="mailto:frank.richter83@gmail.com">frank.richter83@gmail.com</a>>:<br>
>>> >><br>
>>> >><br>
>>> >> Hallo Elias,<br>
>>> >><br>
>>> >><br>
>>> >> genau, das alte Thema war von mir:-)<br>
>>> >><br>
>>> >> Ich bin noch nicht dazu gekommen, meinen Datenimport durchzuziehen,<br>
>>> >><br>
>>> >> ich hab nur schon ein bisschen nach möglichen Vorgehensweisen<br>
>>> >><br>
>>> >> gestöbert. Mein aktueller Plan ist dieser: Hilfsdatenbank erstellen<br>
>>> >><br>
>>> >> und per SQL die Daten mit LOAD DATA INFILE dorthin importieren, weil<br>
>>> >><br>
>>> >> das wohl äußerst fix geht. Dann mit entsprechenden SELECT und<br>
>>> >><br>
>>> >> INSERT-Abfragen die Datensätze einsammeln und samt channel_id und<br>
>>> >><br>
>>> >> richtig konvertiertem Timestamp in die VZ-Datenbank schreiben.<br>
>>> >><br>
>>> >> Zumindest in der Theorie scheint mir das eine brauchbare Lösung zu<br>
>>> >><br>
>>> >> sein...<br>
>>> >><br>
>>> >><br>
>>> >> Viele Grüße<br>
>>> >><br>
>>> >> Frank<br>
>>> >><br>
>>> >><br>
>>> >> Am 14. Juli 2015 um 13:19 schrieb Elias Dörre <<a href="mailto:saile@gmx.de">saile@gmx.de</a>>:<br>
>>> >><br>
>>> >> Hey,<br>
>>> >><br>
>>> >><br>
>>> >> was ich am Volkszähler besonders liebe ist die aktive Community, schon<br>
>>> >> nach<br>
>>> >><br>
>>> >> wenigen Minuten gleich zwei Antworten! :)<br>
>>> >><br>
>>> >><br>
>>> >> @Andreas: Danke für den Hinweis, habe die Konversation gefunden<br>
>>> >> (Subjekt<br>
>>> >><br>
>>> >> ist: "Netzspannungsmessung" falls noch jemand danach sucht)<br>
>>> >><br>
>>> >><br>
>>> >> @Frank und Andreas: es sind 5760 Messwerte pro Tag und Kanal. Ich<br>
>>> >> versuche<br>
>>> >><br>
>>> >> es mal mit einem gemeinsamen POST. Ansonsten ist das direkte schreiben<br>
>>> >> in<br>
>>> >><br>
>>> >> die Datenbank natürlich auch ne super Idee!<br>
>>> >><br>
>>> >> Frank: Hast du schon ein funktionierendes Script? Darüber wäre ich<br>
>>> >> natürlich<br>
>>> >><br>
>>> >> auch sehr dankbar. Ansonsten poste ich meines sobald es läuft.<br>
>>> >><br>
>>> >><br>
>>> >> Viele Grüße,<br>
>>> >><br>
>>> >> Elias<br>
>>> >><br>
>>> >><br>
>>> >> Am 14.07.2015 um 12:59 schrieb Andreas Goetz <<a href="mailto:cpuidle@gmail.com">cpuidle@gmail.com</a>>:<br>
>>> >><br>
>>> >><br>
>>> >> Moin,<br>
>>> >><br>
>>> >><br>
>>> >> 2015-07-14 12:54 GMT+02:00 Frank Richter <<a href="mailto:frank.richter83@gmail.com">frank.richter83@gmail.com</a>>:<br>
>>> >><br>
>>> >><br>
>>> >> Hallo Elias,<br>
>>> >><br>
>>> >><br>
>>> >> wie viele sind denn "viele Messwerte"? Wenn es tausende sind, wird es<br>
>>> >><br>
>>> >> über die Middleware zäh, dann machst du das besser auf<br>
>>> >><br>
>>> >> Datenbank-Ebene.<br>
>>> >><br>
>>> >><br>
>>> >> Viele Grüße<br>
>>> >><br>
>>> >> Frank<br>
>>> >><br>
>>> >><br>
>>> >> Am 14. Juli 2015 um 12:48 schrieb Elias Dörre <<a href="mailto:saile@gmx.de">saile@gmx.de</a>>:<br>
>>> >><br>
>>> >> Moin,<br>
>>> >><br>
>>> >><br>
>>> >> ich habe Messwerte von einem externen Logger, der mir die Daten als<br>
>>> >> CSV<br>
>>> >><br>
>>> >> ausgibt. Diese Daten würde ich super gerne in den Volkszähler<br>
>>> >><br>
>>> >> importieren um<br>
>>> >><br>
>>> >> sie dort visualisieren zu können.<br>
>>> >><br>
>>> >> Gibt es eine Möglichkeit viele Messwerte auf einmal zu importieren<br>
>>> >> oder<br>
>>> >><br>
>>> >> muss<br>
>>> >><br>
>>> >> jeder Messwert mit POST<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> <a href="http://demo.volkszaehler.org/middleware.php/data/550e8400-e29b-11d4-a716-446655441352.json?ts=1284677961150&value=12" rel="noreferrer" target="_blank">http://demo.volkszaehler.org/middleware.php/data/550e8400-e29b-11d4-a716-446655441352.json?ts=1284677961150&value=12</a><br>
>>> >><br>
>>> >> (vgl. <a href="http://wiki.volkszaehler.org/development/api/reference" rel="noreferrer" target="_blank">wiki.volkszaehler.org/development/api/reference</a>) übergeben<br>
>>> >> werden?<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Siehe Suchfunktion (das Thema hatten wir erst letzte Woche) und API.<br>
>>> >> Solange<br>
>>> >><br>
>>> >> es 1 Kanal betrifft kannst Du beliebig viele Werte in einen POST<br>
>>> >> Request<br>
>>> >><br>
>>> >> packen.<br>
>>> >><br>
>>> >><br>
>>> >> Viele Grüße,<br>
>>> >><br>
>>> >> Andreas<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Viele Grüße,<br>
>>> >><br>
>>> >> Elias<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>><br>
>>><br>
>><br>
><br>
</div></div></blockquote></div><br></div></div>