Raspberry Pi 3: bekomme keine stabile Systemzeit

Begonnen von MarkusAutomaticus, 25 Juli 2016, 14:42:42

Vorheriges Thema - Nächstes Thema

MarkusAutomaticus

Hallo zusammen,

weil die Raspi-Foundation aus Sparsamkeitsgründen auf eine RTC verzichtet hat, muss man sich eben anders behelfen.
Ich habe einen Cronjob gebastelt, der bei Neustart und nach einer bestimmten Zeitspanne einen Zeitserver im Internet abfragt.

Obwohl das eigentlich narrensicher sein sollte, habe ich ständig Abweichungen von der genauen Uhrzeit.
Meine letzte date Abfrage hat eine Abweichung von über einer Viertelstunde zutage gebracht!

Das macht natürlich auch alle Logs unzuverlässig.

Ich weiß, es gibt GPIO-Platinen mit RTC, aber ich würde mir den Platz lieber für andere Dinge aufsparen.
Wie schaffen es andere Raspi-FHEM-User, dass ihre Systemzeit genau geht?

Gruss
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

betateilchen

Sie nutzen den ntp Daemon, der standardmäßig in der raspbian Distribution enthalten ist und dafür sorgt, dass bei einem Systemstart die Uhrzeit automatisch korrekt gesetzt wird.

ZitatIch habe einen Cronjob gebastelt, der bei Neustart und nach einer bestimmten Zeitspanne einen Zeitserver im Internet abfragt.

Ich stelle mal die kühne Behauptung auf, dass Dein cronjob nicht das tut, was Du erwartest.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MadMax-FHEM

ZitatSie nutzen den ntp Daemon, der standardmäßig in der raspbian Distribution enthalten ist und dafür sorgt, dass bei einem Systemstart die Uhrzeit automatisch korrekt gesetzt wird.

Jep, sofern bei Systemstart Internetverbindung da ist...

Ansonsten steht er schon mal (länger) "im Wald"...

Hatte ich "zufällig" entdeckt, nachdem mir die Sicherung geflogen ist...
...Pi gestartet noch bevor der Router die Internetverbindung hatte...

Hab mich gewundert, warum "nichts mehr" geht bzw. warum alles auf 1970 steht ;-)

Dann nach reboot (Internet ging inzwischen wieder) alles gut...

Nach (langem) Nachdenken ist mir dann gekommen warum nach dem Reboot alles gut war, nicht aber nach Spannungswiederkehr nach "Stromausfall"...
...aber muss wohl so gewesen sein wie erläutert...

Ob sich das nach (längerer) Zeit selbst wieder geregelt hätte weiß ich nicht/hab ich nicht getestet...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MarkusAutomaticus

Zitat von: betateilchen am 25 Juli 2016, 14:44:46
Ich stelle mal die kühne Behauptung auf, dass Dein cronjob nicht das tut, was Du erwartest.

So kühn ist Deine Behauptung gar nicht, denn würde der cronjob tun, was ich erwarte,
hätte ich diesen thread nicht eröffnet  ;)

Ich hatte mich damals auf einer Website dazu verführen lassen,
die "eingebaute" Funktionaltät durch den Cronjob zu ersetzen.

Die Begründung erschien mir damals schlüssig.
Ich kann mich aber nicht mehr daran erinnern, was es war.

Weitere Vorschläge?

FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

mahowi

Verrat uns doch mal, was Dein Cronjob so macht.  ;)
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

betateilchen

ich kann mir schon ziemlich genau vorstellen, was da passiert :)

  • ntpdate per cronjob, obwohl der ntpd noch läuft
  • cronjob läuft unter einem user, der keine Rechte hat, die Uhrzeit zu setzen

das sind die beiden hauptverdächtigen Fehlerursachen in diesem Fall.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Hollo

Zitat von: MadMax-FHEM am 25 Juli 2016, 14:58:11
Jep, sofern bei Systemstart Internetverbindung da ist...

Ansonsten steht er schon mal (länger) "im Wald"...
Mittels fake-hwclock sollte das nicht passieren.
Dann bist Du schon mal wieder relativ genau, und den Rest besorgt der ntp-Daemon.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

amithlon

Hallo,

abgesehen davon, daß ich meinen RasPi sehr selten neustarte, eigentlich sollte der ntp-daemon wenn Zeitzone usw. richtig gesetzt wurden, die Sache doch alleine aktuelle halten. Bei fehlender I-Net Verbindung über längere Zeit hätte ich ohnehin noch andere Probleme und so schenll geht die Software-Uhr des RasPi ja auch nicht völlig falsch.

Was sagt denn
sudo ntpq -pn

Gruß aus Berlin
Michael

MarkusAutomaticus

Zitat von: amithlon am 26 Juli 2016, 12:42:49
Was sagt denn
sudo ntpq -pn

Hallo Michael,

obiges führt zu der wenig erquicklichen Antwort:

ntpq: read: Connection refused
:-[

Ok, ok ich geb's zu: Ich hab's nicht so mit Linux-Systemen und wahrscheinlich habe ich mir die Zeitabteilung meines Raspi verhunzt.

Wie weiter oben geschrieben, habe ich es mit einem Cronjob versucht und ich meine mich zu erinnern, etwas die Zeit betreffendes deinstalliert zu haben, so wie es in dem Tipp beschrieben war.

Wie bekomme ich das jetzt wieder gerade gezogen?

Gruß
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

betateilchen

mach mal (mit root-Rechten!)

systemctl stop ntpd

und dann nochmal

ntpq -pn
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

und wie der nicht funktionierende cronjob aussieht, wissen wir immer noch nicht...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MarkusAutomaticus

Zitat von: betateilchen am 26 Juli 2016, 13:19:07
mach mal (mit root-Rechten!)

systemctl stop ntpd

und dann nochmal

ntpq -pn

Das Erste führt zu:
Failed to stop ntpd.service: Unit ntpd.service not loaded

Vielleicht habe ich den ntp deinstalliert?
Mein Gott ich komm mir so blöd vor :-[

Ich bin relativ schnell von einem Pi2 auf einen Pi3 umgestiegen.
Möglicherweise habe ich den blöden InternetTipp auf dem Pi3 nicht vollständig umgesetzt?
In den Cron-Verzeichnissen habe ich jedenfalls nichts ntp-Ähnliches gefunden

Asche über mein Haupt :o

Gruß
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

betateilchen

denn sie wissen nicht, was sie tun...  >:(

was liefert

ps -A |grep ntp

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

mahowi

Kann es sein, daß Du nach einer Anleitung wie dieser hier vorgegangen bist: Raspberry Pi: Automatisch immer die richtige Uhrzeit

Dann ist bei Dir entweder ntpdate nicht installiert oder Du hast die Cronjobs nach dem Umzug auf den Pi3 nicht neu angelegt.

Da die Ressourcen bei einem Pi3 nicht mehr unbedingt die Rolle spielen, würde ich ntp einfach nochmal neu mit den Standardeinstellungen installieren, dann sollte ntpd wieder laufen.
sudo apt-get install --reinstall ntp
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

MarkusAutomaticus

Zitat von: betateilchen am 26 Juli 2016, 13:39:57
denn sie wissen nicht, was sie tun...  >:(
Ich hab  mich ja schon vor den Linux-Göttern in den Staub geworfen.

Zitat von: betateilchen am 26 Juli 2016, 13:39:57
was liefert

ps -A |grep ntp

Nüscht: ein leerer prompt. Das heißt dann wohl, dass kein ntp Prozess aktiv ist?!
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator