Höchsten Wert Speichern

  • Moin,


    ich habe mal eine Frage. Ich soll mittels PHP zwei Werte in einer Datei Abspeichern.


    Es handelt sich hierbei um ein Projekt, welches mit einem Raspberry Pi umgesetzt wird.

    Hierbei habe ich Zwei Temperatur Sensoren, die immer die aktuelle Temperatur aus einen Pool ermitteln.


    Das ganze soll über eine Internet Seite angezeigt werden. Die normale Temperatur funktioniert soweit auch.
    Nun soll ich noch einen 7 Tage Wert für die Höchste Temperatur und die Niedrigste Temperatur erstellen-


    Das heißt das ich meinen Sensor "Sensor1" habe. Dieser zeigt je nach Temperatur in dem Fall natürlich die aktuelle Temperatur an.


    Sagen wir mal die Temperatur ist "28,9 °C" Dieser Wert soll nun in einer ".txt" Datei gespeichert werden.

    Wenn die Temperatur auf "29 °C" hoch geht, soll eben dieser Wert eingetragen werden. Also immer den höchsten.

    Das ganze natürlich auch bei der niedrigsten Temperatur. Wenn die sagen wir "12 °C" entspricht und runter auf "10 °C" geht. Soll eben "10 °C" eingetragen werden.


    Leider funktioniert das ganze noch nicht so. Ich habe es geschafft, dass er in die Datei reinschreibt. Aber wirklich jeden Wert dafür nimmt. Also auch wenn der von "29 °C" auf "27 °C" runter geht. Aktualisiert er diesen Wert in der Datei auf "27 °C"


    Bitte nehmt es mir nicht so übel. PHP ist nicht ganz mein Gebiet ^^



    Mein Code wie ich es aktuell umgesetzt habe:




    Dann noch eine andere kleine Frage.
    Der ich wollte gerne machen, das die 7 Tage Werte jeden Sonntag angezeigt werden.

    Also wenn von Montag bis Sonntag der höchste Wert "31 °C" war. Soll der dies anzeigen. Und eine neue Datei erstellen.

    Am nächsten Sonntag wird dann die Datei mit den "31 °C" gelöscht. Und wieder eine neue erstellt.


    Also immer das Zwei Dateien vorhanden sind. Einmal die von der vorherigen Woche und eine Neue für die kommende Woche.



    Wäre sehr dankbar wenn mir jemand weiterhelfen könnte.



    Lieben Gruß

  • Du schreibst:

    Zitat

    Sagen wir mal die Temperatur ist "28,9 °C" Dieser Wert soll nun in einer ".txt" Datei gespeichert werden.

    Ich nehme mal an, der Wert, der vom Sensor kommt, ist nicht buchstabengetreu "28,9 °C" sondern der reine Zahlenwert und mit Punkt als Dezimaltrenner? Wenn nicht, könnte das erklären, warum es nicht funktioniert.

    Davon abgesehen gibt es, denke ich, auf dem Raspberry Pi irgendwelche Logausgaben. Also, um da klarer zu sehen, die betreffenden Werte, was vom Sensor kommt, ausgeben lassen.


    Edit: Ich hätte zuvor den Code genauer lesen sollen: Wenn Du mit dem Wert rechnen kannst, Division und round, muss es ja der nackte Zahlenwert sein. :-)

  • hey,


    Ja tut mir leid, da habe ich ein wenig für Verwirrung gesorgt. Natürlich gibt "sensor1' nur die blanke Zahl aus ohne das Grad Zeichen. Gerundet wird auf die erste nach Komma Stelle.


    Es wird also nur sowas wie "28.9" gespeichert.


    Hat jemand eine Idee wieso der Code nicht funktioniert?


    PHP
    1. <?php
    2. $ausgabe = file_get_contents("logs.txt");
    3. $schreiben = fopen("logs.txt", "w");
    4. if ($sensor1 > $ausgabe) {
    5. fwrite ($schreiben, $sensor1);
    6. fclose ($schreiben);}
    7. ?>


    Lieben Gruß

  • Hey,


    also es hat jetzt geklappt.

    Ich habe es nun so gemacht:


    Code
    1. $ausgabe = file("logs.txt")[1];
    2. if($sensor > $ausgabe) {
    3.     $schreiben = fopen("logs.txt", "w");
    4.     fwrite ($schreiben, "Höchste Temperatur: \n" . $sensor1);
    5.     fclose ($schreiben);
    6. }    

    Nun würde ich ganz gerne noch den Wert eintragen wenn sensor1 niedriger als Ausgabe ist.

    Hat da jemand eine Idee wie ich das ganze in die Gleiche Datei eintrage?



    Lieben Gruß

  • Wenn es nur zwei Werte sind, dann wäre Json doch wie "Mit Kanonen auf Spatzen schießen", oder?


    Auf die Schnelle zusammengeschraubt und ungetestet: