Mit der ntp library für esp8266 / arduino
#include <NTPClient.h>
Wie mach ich das mit auto winterzeit umschaltung?
Wie bestimme ich möglichst einfach sonnenaufgang und sonnenuntergang?
setup ist so:
1
#if defined has_ntp
2
timeClient.begin();
3
timeClient.setTimeOffset(ntptimeoffset); // in sec
4
timeClient.setUpdateInterval(43200000UL); // in ms 12h
5
timeClient.update();
6
if (timeClient.isTimeSet())
7
{
8
Serial.print("NTP time");
9
Serial.println(timeClient.getFormattedTime());
10
}
11
#endif
abfrage
1
actHour = timeClient.getHours();
Das soll zur abspeicherung von solardaten dienen, minutengenau reicht
völlig.
Max M. schrieb:> Wie bestimme ich möglichst einfach sonnenaufgang und sonnenuntergang?
Indem du dich von der Zeitumschaltung verabschiedest und konsequent UTC
verwendest.
Das Thema taucht hier gefühlt alle 4 Wochen auf, z.B.
Beitrag "Solartracker Funktionsmodell"
Funktioniert bei dir die Suchfunktion nicht?
Max M. schrieb:> Mit der ntp library für esp8266 / arduino> #include <NTPClient.h>>> Wie mach ich das mit auto winterzeit umschaltung?
für NTP am ESP8266 braucht es keine externe Library. Das klappt seit
einigen Jahren mit dem ESP Core.
Sommerzeit-Umschaltung auch. Sind nur 3 Zeilen.
https://werner.rothschopf.net/202011_arduino_esp8266_ntp_en.htm
Manfred schrieb:> Max M. schrieb:>> winterzeit> ..verwenden nur Trottel, es gibt sie nicht.
Mal wieder der übliche Unsinn hier. Es gibt keine Sommerzeit, Winterzeit
ist die 'Normalzeit', die Stunde verschiebung im Sommer ist künstlich.
Aber Hauptsache beleidigen.
Paul schrieb:> Es gibt keine Sommerzeit, Winterzeit> ist die 'Normalzeit', die Stunde verschiebung im Sommer ist künstlich.
Auch die Normalzeit ist künstlich und per Gesetz verordnet. Mit dem
Sonnenstand hat auch die nichts zu tun. Sowohl wahre als auch mittlere
Sonnenzeit sind abhängig vom Längengrad und nicht von irgendwelchen
Ländergrenzen.
noiasca schrieb:> für NTP am ESP8266 braucht es keine externe Library. Das klappt seit> einigen Jahren mit dem ESP Core.
Das heisst ich kann die ntp lib rausschmeissen und das so machen wie im
beispiel? Wenn ich das hinbringe mach ich das!
Danke.
noiasca schrieb:> für NTP am ESP8266 braucht es keine externe Library. Das klappt seit> einigen Jahren mit dem ESP Core.
Welches intervall hat das lesen über enet denn?
Mit der lib kann ich einstellen wie oft beim server nachgefragt werden
soll, bei espcore finde ich aber keinerlei angabe.
Ich will nicht dass der esp dann jede sekunde oder jede minute traffic
generiert. Höchstens jede stunde mal, besser 1 mal pro tag.
Und wie kann ich feststellen ob die ntp time up ist?
Will ja sonnenaufgang nicht falsch berechnen :)
Oder auch über wttr.in /Sourcecode https://github.com/chubin/wttr.in
Realisation auf dem Arduino mit HTTP Requests, analog zu:
https://arduinogetstarted.com/tutorials/arduino-http-request
Zur Kontrolle die (LINUX) Kommandozeile: einfach eintippen und Enter
curl wttr.in/Waldshut?format=v2
bzw. als png
wget wttr.in/Waldshut_format=v2.png
siehe Anlage
und obige Infos als Einzeiler:
curl wttr.in/Waldshut?format=%D+%S+%z+%s+%d
07:29:16 08:03:48 12:39:03 17:15:00 17:49:33
Sonnenauf / untergang
https://wttr.in/zuerich?format=%S+%s
Das ist mit den esp8266 ziemlich einfach.
Und die wetterabhängigen sonnenstunden pro tag?
Oder was bringen meine solarpanels morgen?
> Indem du dich von der Zeitumschaltung verabschiedest und konsequent UTC> verwendest.
Stimmt. Nur wenn du die Zeiten für uns Menschen ausgibst, die Zeiten in
die Zeitzone des Benutzers umrechnen.
ESP - Wlan - Internet? Falls du Benutzer aus Australien bekommen wirst -
die haben Sommerzeit im Winter.
Max M. schrieb:> Welches intervall hat das lesen über enet denn?> Mit der lib kann ich einstellen wie oft beim server nachgefragt werden> soll, bei espcore finde ich aber keinerlei angabe.>> Ich will nicht dass der esp dann jede sekunde oder jede minute traffic> generiert. Höchstens jede stunde mal, besser 1 mal pro tag.
Steht auch auf der Seite:
Another standard value is the NTP polling interval. The default value is
60 minutes. This value can also be changed.
noiasca schrieb:> Another standard value is the NTP polling interval. The default value is> 60 minutes. This value can also be changed.
Klappt. Supi TY
Wobei warum man dafür einen callback definieren muss und nicht eine
funktion aufruft ist mir unangenehm. Da brauch ich eine serial.print im
callback sonst glaub ich das nicht.
Ansonsten, 12h update interval, der typ denkt wie ich.
Noch ein Kommentar schrieb:> Falls du Benutzer aus Australien bekommen wirst - die haben Sommerzeit> im Winter.
Quatsch - auch die Australier haben Sommerzeit im Sommer. Dort heißt sie
allerdings Daylight Saving Time (DST) ;-)
Mit MESZ wird dein australischer Besucher jedenfalls meist nicht
sonderlich viel anfangen könnten und der Sonne ist die Sommerzeit
sowieso egal.
Wer weiß schon, was der TO vorhat?
Wolfgang schrieb:> Wer weiß schon, was der TO vorhat?Max M. schrieb:> Das soll zur abspeicherung von solardaten dienen, minutengenau reicht> völlig.
Ziel ist bei der graphik im bild eine zeitskala zu haben, und das gerät
mit sonnenauf/niedergang ein/aus zu schalten.
Was auch die sommerzeit umschaltung erklärt.
Sonst fragt jeder "die zeit stimmt aber nicht".
Hi,
basierend auf den ESP Core libs in Verbindung mit NTP hab ich die
Berechnung des Sonnenauf- und Untergangs basierend auf einer Idee aus
einem anderen Forum mal realisiert:
https://sourceforge.net/p/toiswitch/code/ci/master/tree/stable/common_files/util.c
Funktion "get_sun_times()"
Ob Sommer- oder Winterzeit, sagt dir DST-Bit.
TOISWITCH verwendet die Funktion genau für das, was du auch vor hast:
Das Ein- und Ausschalten in Abhängigkeit von Sonnenauf- oder Untergang.
Vielleicht hilfts dir ja weiter.
Tobias W. schrieb:> Vielleicht hilfts dir ja weiter.
Wenn ich das verstehen würde ...
Muss mich erst einarbeiten. Das "DST-Bit" brauch ich!
Immerhin, fast 700W liefert der soyo heute. Und 40 grad warm. Da hat so
ein idiot (ich) den soyo lüfter falsch rum montiert. :(
Lüfter gedreht, 30 grad.
Max M. schrieb:> Ziel ist bei der graphik im bild eine zeitskala zu haben, und das gerät> mit sonnenauf/niedergang ein/aus zu schalten.
Dann lass dir schonmal etwas einfallen, wie du mit fehlenden und
doppelten Stunden umgehen willst. Die meisten Grafiken tun sich da etwas
schwer.
hacker-tobi schrieb:> diese info liefert dir ...
Info über den Umgang der Grafiken mit fehlenden und doppelten Stunden?
Du sprichst in Rätseln.
p.s.
Du weißt, dass es hier im Forum eine Zitatfunktion gibt?
Paul schrieb:> Manfred schrieb:>> Max M. schrieb:>>> winterzeit>> ..verwenden nur Trottel, es gibt sie nicht.>> Mal wieder der übliche Unsinn hier. Es gibt keine Sommerzeit, Winterzeit> ist die 'Normalzeit', die Stunde verschiebung im Sommer ist künstlich.> Aber Hauptsache beleidigen.
Kein Unsinn.
Die "künstliche" Verschiebung in den Sommermonaten wird offiziell
tatsächlich "Sommerzeit" genannt. Das andere ist die MEZ
(mitteleuropäische Zeit). Der Ausdruck "Winterzeit" verbreitet sich zwar
zunehmend im "Volksmund", ist aber keine offizielle Bezeichnung. Es ist
die lokale Normalzeit, unabhängig von Sommer oder Winter.
Max M. schrieb:> Ziel ist bei der graphik im bild eine zeitskala zu haben, und das gerät> mit sonnenauf/niedergang ein/aus zu schalten.>> Was auch die sommerzeit umschaltung erklärt.> Sonst fragt jeder "die zeit stimmt aber nicht".
Die Wetterfrösche kennen einen Trick. Man beachte die X-Achse oben, im
Winter fangen die Tage um 01:00 an, im Sommer um 02:00 :)
https://wetterstationen.meteomedia.de/?station=094460&wahl=vorhersage
Frank E. schrieb:>>>> winterzeit>>> ..verwenden nur Trottel, es gibt sie nicht.>>>> Mal wieder der übliche Unsinn hier. Es gibt keine Sommerzeit, Winterzeit>> ist die 'Normalzeit', die Stunde verschiebung im Sommer ist künstlich.>> Aber Hauptsache beleidigen.>> Kein Unsinn.>> Die "künstliche" Verschiebung in den Sommermonaten wird offiziell> tatsächlich "Sommerzeit" genannt. Das andere ist die MEZ> (mitteleuropäische Zeit). Der Ausdruck "Winterzeit" verbreitet sich zwar> zunehmend im "Volksmund", ist aber keine offizielle Bezeichnung. Es ist> die lokale Normalzeit, unabhängig von Sommer oder Winter.
Danke, dass Du es nochmal erläutert hast!
Dazu am Rande: Auch der Betreiber von dcf77logs.de hatte in seinen
Logfiles "Winterzeit" stehen. Ich hatte ihn mal angemailt, war ein sehr
netter Kontakt - seitdem steht nun dort MEZ bzw. Normalzeit.
Ich rege mich noch immer auf, wenn Zeitungsschmierer oder
Rundfunkreduckteure "Winterzeit" schreiben oder sagen, ich hasse diese
Zeitverdreherei.
Zu allem Überfluß macht sie Ärger, wenn man PC-Dateien zwischen
verschiedenen Dateisystemen synchronisieren will.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang