Realtime clock status

Hallo,

kann man bei einer RTC eigentlich den Status abfragen, sprich Batterie noch voll -> Zeit gültig ?
Ich würde gerne eine RTC parrallel mit NTP betreiben.
Kommt nach einem Stromausfall das Internet nicht wieder (router abgestürzt oder so)
so soll die RTC die Kontrolle bekommen. Aber dann will ich wissen ob ihre Zeit gültig ist, sonst
kriegen die Fische im Aquarium nacher keinen Schlaf wenn ich nicht da bin :slight_smile:

Ulli

Du kannst bei den mir bekannten RTC den Batteriestatus nicht abfragen, aber Du kannst natürlich einen Plausibilitätscheck auf die Zeitangaben durchführen, die Du zurück kriegst. Wenn der Strom komplett weg war, wird die Zeit auf 0 initialisiert (Datum auch). Wenn das Datum also kleiner als 2013 ist, hast Du keine gültige Zeit. Die Batterie wird nur benutzt, wenn Du keinen Strom auf der Versorgungsleitung lieferst. Eine Batterie, die nur bei Stromausfällen einspringen muss, hält normalerweise etwa 10 Jahre.

Die DS1307 hat ein Bit das die Gültigkeit der Werte anzeigt.
zB:

if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }

aus der RTClib.h gefunden in Problem displaying time via SPI - Networking, Protocols, and Devices - Arduino Forum Ich weiß aber nicht wo er die Bibliothek her hat.

Du hast aber keine Möglichkeit den Ladezustand der Batterie zu messen.
Die Batterie hält auch ohne Versorgungsspannung am RTC 10 Jahre. Wenn Du auf Nummer sicher gehen willst dann tausche die Batterie alle 2 Jahre aus. Bei 2€ pro Batterie ist das finanziell verkraftbar.

Grüße Uwe