Im loop ist die erste Zeile:
byte day[] = {0, 0, 0, 21, 2, 2012};
Da spinnt schon mal der Compiler, weil 2012 für den Datentyp zu groß ist.
byte day[] = {0, 0, 0, 21, 2, 21};
funktioniert.
So tief bin ich noch nicht in die Materie vorgedrungen, um herauszufinden ob 21 das gleiche Jahr wie 2021 ist.
Scheint aber zu funktionieren.
Ich bekomme SA und SU aus dem Sketch im Serial Monitor, so wie es der Wetterbericht auch anzeigt.
Mein Hintergrund: Fehler beim BH1750 ausschließen. Der zeigt mitten in der Nacht plötzlich 22573lx an.
Wahrscheinlich ist da wieder ein Auto vorbei gefahren und hat mit seinen Scheinwerfern meinen Sensor durcheinander gebracht.
Wenn aber die Uhrzeit nach Sunset ist, darf der Sensor keine so hohen Werte an die Datenbank liefern.
Immer wieder gibt es neue Ungereimtheiten mit Sensoren bei der Datenerfassung über lange Zeiträume.
Im loop ist die erste Zeile:
byte day[] = {0, 0, 0, 21, 2, 2012};
Da spinnt schon mal der Compiler,
NEIN!
Du hast die Größe eines Datentypes nicht verstanden!
Wahrscheinlich ist da wieder ein Auto vorbei gefahren und hat mit seinen Scheinwerfern meinen Sensor durcheinander gebracht.
Wenn aber die Uhrzeit nach Sunset ist, darf der Sensor keine so hohen Werte an die Datenbank liefern.
Dann sage dem Stück Software - die Du hier nicht bekannt gegeben hast - das sie das nicht darf. Fertig.
Nur um das einzuordnen: Ein irgendwie geartetes wiederkehrendes Ereignis, dessen Herkunft bekannt ist, verleitet Dich zu der Aussage:
Immer wieder gibt es neue Ungereimtheiten mit Sensoren bei der Datenerfassung über lange Zeiträume.
Ich helfe gerne und das auch manchmal unkonventionell, aber das geht eindeutig zu weit.
Wenn DU nicht in der Lage bist einen Messwert mit dem vorhergehenden oder/und nachfolgenden zu vergleichen und/oder Grenzwerte festzulegen, dann ist da was ganz anderes faul.
Wieso sollte ich testen, ob 2012 in ein Byte passt?!
Ich bekomme SA und SU aus dem Sketch im Serial Monitor, so wie es der Wetterbericht auch anzeigt.
SA='s schifft abends?
SU='s schifft untertags?
Mal im Ernst: Wenn es funktioniert, benutze es. Wenn nicht, dann nicht. Zudem könntest Du Sachen wie TimeLoard verlinken oder erklären, denn was das ist, weiß ich genauso wenig wie ich den BH1750 kenne.
Vielleicht funktioniert Dein Projekt ja besser, wenn Du in den Wald umziehst, wo keine Autos fahren.
@my_xy_projekt
Dann teste mal das Original.
Was sagt dein Kompiler?
Und ewig alte Messwerte speichern, um sie dann mit den Aktuellen zu vergleichen, ist doch auch keine Lösung.
Irgendwann sagt der Speicher: "leck mich"
Das kann man vll. auf einem PC machen, aber nicht auf einem µC.