<div dir="ltr">Hi Christian,<div><br></div><div>ich habs mir nicht im Detail angeschaut, aber wahrscheinlich liegt das Problem darin, dass du einfach das Ergebnis des NTP-Requests anzeigst. Richtig wäre, die integrierte Echtzeituhr (RTC) des ESP gelegentlich via NTP zu synchronisieren und für die Anzeige auf dem Display die RTC-Zeit zu verwenden.</div><div><br></div><div>Schau mal bei Andreas Spiess die Sachen zu NTP und RTC auf dem ESP8266 an:</div><div><a href="https://www.youtube.com/watch?v=qzkNXhubWLg">https://www.youtube.com/watch?v=qzkNXhubWLg</a><br></div><div><a href="https://www.youtube.com/watch?v=BzFM3PWx1rg">https://www.youtube.com/watch?v=BzFM3PWx1rg</a><br></div><div><a href="https://github.com/SensorsIot/SNTPtime">https://github.com/SensorsIot/SNTPtime</a><br></div><div><br></div><div>Grüße</div><div>Frank</div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 31. Juli 2017 um 15:43 schrieb Christian Wulff <span dir="ltr"><<a href="mailto:christianwulff@gmx.de" target="_blank">christianwulff@gmx.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="DE" link="blue" vlink="purple"><div class="m_8626622306560864979WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Moin Frank,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">wenn ich den interval für den NTP Request von 1000 auf 900 000 stelle, dann zeigt die Uhr nur alle 15 Minuten die Zeit an.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich hab das jetzt mal auf 10 000 gestellt. Jetzt wird die Zeit im 10 Sekunden Interval geschrieben.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Das will ich ja nicht.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich will ja, die Sekunden sehen können, wie sie laufen.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Allerdings soll meinetwegen nur 1x pro Stunde ein NTP Request zur Synchronisierung der Zeit gestartet werden.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich versteh nicht warum das ein Problem ist, so müsste es doch normal sein.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Keiner will jede Sekunde einen NTP Request losschicken.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Aber ich finde sowas nicht, das muss doch schon mal einer gemacht haben?! (Eigentlich muss das jeder so machen der eine NTP synchronisierte Zeit haben will)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Lieben Gruß,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chris<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Frank Richter [mailto:<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.<wbr>com</a>] <br><b>Gesendet:</b> Montag, 31. Juli 2017 14:07</span></p><div><div class="h5"><br><b>An:</b> <a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users<br><b>Betreff:</b> Re: [vz-users] JSON parsen<u></u><u></u></div></div><p></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Hi Christian,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">beruhigt mich, dass du mir das von gestern nicht krumm nimmst :-)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Stell' mal die Konstante interval für den NTP-Request von 1000 auf meinetwegen 900 000, dann macht er das nur noch alle Viertelstunde. Dann beobachten ob Abweichungen entstehen.<u></u><u></u></p></div><div><p class="MsoNormal">Wenn du das struct loswerden willst, ersetze es durch passend definierte Variablen, also char* für color und float für die Temperaturen.<u></u><u></u></p></div><div><p class="MsoNormal">Und dann bitte zum Parsen mal folgendes testen: <span style="font-size:9.5pt">root["data"]["tuples"]<wbr>[0][1]</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">Grüße</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">Frank</span><u></u><u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Am 31. Juli 2017 um 13:04 schrieb Christian Wulff <<a href="mailto:christianwulff@gmx.de" target="_blank">christianwulff@gmx.de</a>>:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Moin,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">@Lars: Danke für die Rückendeckung </span><span style="font-size:11.0pt;font-family:Wingdings;color:#1f497d">J</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> Ist aber nicht nötig. Mit dem Ton habe ich kein Problem, hab ich auch gar nicht negativ aufgefasst. Ich bin ja genauso ;-)</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">@Frank: Danke für die Antworten.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich haue mir die Nächte und Wochen ja nicht um die Ohren weil ich da Spaß dran habe, sondern weil ich ein kleines Projekt fertig haben will.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Leider hab ich auch nicht so viel Zeit um mich damit Stunden und Wochenlang zu beschäftigen. Oft geht es Wochenlang nicht weiter. Jetzt habe ich gerade Urlaub und versuche das Nachts nach vorne zu bringen. Nun hab ich mich aber sicher schon 5 Nächte lang mit diesem JSON rumgeschlagen und beisse auf Granit.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Aber es nützt ja nix, ich komme nicht weiter. Nur deswegen frage ich nach und hoffe auf Antworten.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Wenn ich das könnte, würde ich sicher nicht fragen.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich lese sehr viel und durchforste Foren und Mailinglisten, finde aber nicht die richtigen Antworten.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Deswegen bin ich ja froh, dass überhaupt jemand auf meine Fragen eingeht. Muss man ja nicht.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Das was Frank geschrieben hat trifft es exakt auf den Kopf. Das sehe ich nämlich exakt genauso.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">„wieso baust du deine Funktion readResponseData nicht einfach so auf wie der Web-Assistent das vorschlägt?“</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hab ich versucht, hat nicht funktioniert. Es scheitert hier aber nicht am parsen, sondern vermutlich am drum herum.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Die einfache logische Variante aus dem Assistant bekomme ich nicht mit dem http Request über Wifi verheiratet.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Die Beispieldatei aus der Library mit http Request über Ethernet habe ich auf Wifi umgebaut. Hier werden einige Sachen abgefangen, ich dachte das kann nicht schaden. Funktioniert ja auch. Darin ist allerdings diese komplizierte Geschichte mit dem struct, was ich überhaupt nicht durchschaue. Das struct will ich überhaupt nicht, das nervt nur.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Die „readResponseData“ hab ich nicht gebaut, die ist aus einer Beispieldatei der Library kopiert und ich habe sie versucht anzupassen, ist aber nicht fertig, weil ich nicht weiterkomme. Da scheitert es an diesem blöden struct.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">„Aber die linke Seite ist ja genauso Quatsch, in userData->color wirst du den Wert wohl kaum speichern wollen. Ein kompliziertes struct zu verwenden, wenn man nur einen Wert übergeben will, ist wohl auch nicht optimal.“</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Oh ja, du sprichst mir aus der Seele. Das ist mir auch viel zu aufwändig und zu kompliziert. Ich hätte es gerne viel einfacher, so wie in dem Beispiel vom Assistant, das versteh ich wenigstens.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">„Außerdem um Gottes willen nicht jede Sekunde den NTP-Server belästigen wegen deiner Uhr-Bastelei. Wenn das alle so machen würden...“</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Da sprichst du mir wieder aus der Seele. Ich hatte mir 4 oder 5 verschiedene NTP Uhren angesehen. Ich wollte eine haben, die sich nur dann synchronisiert wenn es nötig ist (1x am Start und dann nur noch wenn die Abweichung zu groß wird), oder höchstens 1x pro Stunde, oder alle 10min oder so. Keine Ahnung wie schnell die interne Zeit wie stark asynchron wird. Habe sowas aber nicht gefunden, bzw. dachte das die Variante die ich jetzt verwende so funktioniert. Der hat immer eine Meldung rausgehauen „Request NTP……not necessary“.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Irgendwie hab ich das Gefühl ich muss nochmal von vorne anfangen, dabei dachte ich, dass ich bin zu 90% fertig. Mist.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Lieben Gruß,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chris</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Frank Richter [mailto:<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.<wbr>com</a>] <br><b>Gesendet:</b> Montag, 31. Juli 2017 09:20<br><b>An:</b> <a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users<br><b>Betreff:</b> Re: [vz-users] JSON parsen</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Moin Lars,<u></u><u></u></p><div><div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">du magst Recht haben, dass der Ton ein bisschen ruppig war. Also sorry @Christian, mit etwas Abstand betrachtet hätte ich das so nicht formulieren sollen.<u></u><u></u></p></div><div><p class="MsoNormal">Meine Worte von gestern sind schon mit Augenzwinkern zu sehen, ich wollte bestimmt niemanden verletzen. Zu der grundsätzlichen Message, dass da noch Luft nach oben ist, stehe ich aber.<u></u><u></u></p></div><div><p class="MsoNormal">Ich weiß nicht ob du (@Lars) hier alles mitliest, wenn ja hast du bestimmt mitbekommen dass sich Christians Projekt schon seit Wochen und über viele Threads hinzieht. Daher ist meine Geduld gestern Abend vermutlich etwas überstrapaziert gewesen.<u></u><u></u></p></div><div><p class="MsoNormal">JSON auf einem Arduino oder ESP zu zerlegen ist jetzt auch nicht gerade das Kernthema der volkszaehler-Liste. Natürlich kann man das hier trotzdem besprechen, aber ein bisschen Eigeninitiative gehört IMHO auch dazu.<u></u><u></u></p></div></div></div></div><div><div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Am 31.07.2017 07:35 schrieb "Lars Täuber" <<a href="mailto:lars.taeuber@web.de" target="_blank">lars.taeuber@web.de</a>>:<u></u><u></u></p><p class="MsoNormal">Hallo Frank,<br><br>Sun, 30 Jul 2017 20:19:24 +0200<br>Frank Richter <<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.com</a>> ==> "<a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users" <<a href="mailto:volkszaehler-users@demo.volkszaehler.org" target="_blank">volkszaehler-users@demo.<wbr>volkszaehler.org</a>> :<br>> [...]<br>> Was da im Moment steht ist ja wohl gar nix:<br>><br>> Was soll das werden? [...] Aber die linke Seite ist ja genauso Quatsch [...]<br>><br>> Außerdem um Gottes willen nicht jede Sekunde den NTP-Server belästigen<br>> wegen deiner Uhr-Bastelei. Wenn das alle so machen würden...<br>><br>> Ein bisschen systematische Einarbeitung in Coding-Basics täte vielleicht<br>> auch gut ;-)<br>><br>> Und das nächste Mal schickst du sowas bitte als Anhang statt alles in die<br>> Mail zu packen!<br><br>soll das lustig sein oder Ironie? Dann ist das aber nicht deutlich genug kenntlich gemacht.<br>Oder ist das hier der übliche Ton, mit dem Hilfesuchende "abgefrühstückt" werden?<br><br>Der Ton ist wirklich nicht nett.<br>Inhaltlich kann ich leider nichts beitragen.<br><br>Grüße<br>Lars<br>--<br>Lars Täuber <<a href="mailto:lars.taeuber@web.de" target="_blank">lars.taeuber@web.de</a>><u></u><u></u></p></div></div></div></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></blockquote></div><br></div>