Auslastung SD-Karte

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Auslastung SD-Karte

    Laut loxone Support gibt es angeblich keine Funktion, die Speichergrösse der SD-Karte zu überwachen.

    Ich hätte mir gerne eine Erinnerung eingebaut, die mich daran erinnert, mal die Speicherkarte zu checken und ggf. zu leeren.

    ​​​​​​​Hat jemand so etwas schonmal realisiert oder hat jemand eine Idee, wie man sowas über Umwege umsetzen könnte?
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11250

    #2
    Das wäre was fürs Backup-Plugin von @Wörsty
    Wenn man schon nicht auslesen kann, wieviel frei ist, weiß das Plugin zumindest, wieviel belegt ist.
    Nachdem nur 2 GB bei Loxone nutzbar sind, könnte man die Backupgröße auswerten.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar


    • svethi
      svethi kommentierte
      Kommentar bearbeiten
      Naja, auf die Firmware selbst hat doch keinen Zugriff, oder? Das würde bedeuten, dass man zuerst einmal wissen müsste wieviel Speicher durch gesperrte Speicherbereiche benutzt werden.
  • christof89
    Lox Guru
    • 29.08.2015
    • 1374

    #3
    Du könntest dir über einen sich wiederholenden Kalendereintrag am MS eine Mail/Push/Anruf zukommen lassen.

    Kommentar

    • Gast

      #4
      Ich habs auch schon über ein PHP-Skript versucht. Leider funktioniert die Funktion "disk_free_space()" nur auf dem Webserver und nicht auf externe Geräte.

      Kommentar

      • Gast

        #5
        Idee: man könnte die gesamte Speicherkarte auf den angeschlossenen Raspberry kopieren und dann via "disk_free_space()" die Änderung des Speicherplatzes auf dem Raspberry beobachten.
        Wie lange der Kopiervorgang dauert und wieviel Ressourcen das blockiert kann ich leider noch nicht abschätzen.

        Kommentar

        • svethi
          Lebende Foren Legende
          • 25.08.2015
          • 6346

          #6
          Hää?
          Nee, das wird so alles gar nichts. Wie man Dir schon gesagt hat, ist das Dateisystem des MiniServer ein geschlossenes System in einer 2GB großen Datei. Daran kannst Du auch nichts ändern. Irgendwelche PHP Scripte kannst Du zwar in den freien Bereich der Karte draufspielen, doch was soll das bringen? Die PHP Datei ist erstens kein eigenständig lauffähiges Programm, sondern eher mit einer Liste von Anweisungen, die ein Programm ausführt. "Technisch" gesehen ist PHP eine Script-Programmiersprache die vor der Ausführung nicht kompiliert wird (Übersetzung der Menschenlesbaren Befehle in Maschinencode), sondern an einen Interpreter übergeben wird, der die Befehle der Reihe nach übersetzt und ausführt. Sprich für PHP brauchst Du immer den PHP Interpreter. Des Weiteren wird PHP meistens im Web benutzt, was noch dazu einen Webserver (Auch nur ein Programm) voraussetzt. Der Webserver einschl. PHP Interpreter muss also auf einem Computer laufen. Dein disk_free_space() läuft wird also immer auf dem Computer ausgeführt, auf dem der Interpreter läuft. Mal angenommen Du packst diese SD-Karte dann in den Computer mit dem Webserver, richtest den Webserver so ein, dass er die PHP Datei auf Deiner SD-Karte benutzt/verteilt und auch bei disk_free_space() den freien Speicher der SD-Karte anzeigt, dann bringt Dich das absolut nicht weiter. Die SD-Karte steckt nämlich dann nicht im MiniServer. Steckst Du die Karte in den MiniServer, hast Du von Deinem Webserver aus gar keinen Zugriff mehr auf die Karte. Selbst wenn sogar das gehen würde, würde Dir das gar nichts bringen, denn die Loxone-Datei ist 2GB groß und so bleibt sie auch. Egal ob das Filesystem des MiniServer leer oder voll ist. Solange Loxone in Ihrem Betriebssystem keine derartigen Funktionen anbietet, kannst Du das vergessen.

          Gruß Sven
          Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

          Kommentar


          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Kann ich mir nicht vorstellen dass das nicht geht. Sogar mit den einfachsten FTP Programmen kann ich via FTP-Zugriff den belegten Speicherplatz auf der SD-Karte der loxone abfragen.

            Grundlagen zu php sind klar! Ich hab einen Raspberry im loxone Netzwerk der als Webserver konfiguriert ist. Dort laufen einige Scripte unter anderem auch zur Visualisierung.

            Mit “geht nicht“ kann ich mich diesbezüglich noch nicht zufrieden geben.

          • svethi
            svethi kommentierte
            Kommentar bearbeiten
            Na, wenn Du es besser weißt, warum fragst Du dann und machst es nicht einfach?

          • Christian Fenzl
            Christian Fenzl kommentierte
            Kommentar bearbeiten
            Gast Diesen FTP-Befehl zum Abfragen des freien Plattenplatzes, der würde mich auch interessieren. Vielleicht kennst du ihn, ich hab ihn nicht gefunden.
            This memo is the official specification of the File Transfer Protocol (FTP) for the DARPA Internet community. The primary intent is to clarify and correct the documentation of the FTP specification, not to change the protocol. The following new optional commands are included in this edition of the specification: Change to Parent Directory (CDUP), Structure Mount (SMNT), Store Unique (STOU), Remove Directory (RMD), Make Directory (MKD), Print Directory (PWD), and System (SYST). Note that this specification is compatible with the previous edition.
        • Christian Fenzl
          Lebende Foren Legende
          • 31.08.2015
          • 11250

          #7
          Mich hat's eh schon immer interessiert, und sturmfrei hab ich auch, darum hab ich mit dem Image mal etwas experimentiert.

          Also SD mit Loxone formatiert, das 2GB-File rüber auf den Linuxserver.
          fdisk gibt 4 Partitionen aus, aber mit völlig falschen Werten, weil die Sektor/Cylinderangaben wahrscheinlich fehlen. Die erster drei Byte entsprechen einer FAT16-Signatur, aber es fehlen weitere Bytes, die eine eindeutige Zuordnung zulassen. Ob es wirklich 4 Partitionen sind, oder vielleicht zwei oder drei, kann ich nicht sagen.
          Ich bin mir ziemlich sicher, dass die letzten 64 MB der 2 GB sowas wie eine Partition beherbergen. Es ist zwar fast leer, aber das ist zu exakt 64MB.
          Ein Mounten funktioniert jedenfalls auch mit force nicht.

          Von den 2 GB wird glaube ich nichts oder nicht viel versteckt. Die Firmwares des MS und der Extension liegen sichtbar auf der SD, ebenso das Webinterface, ja sogar bereits unter Windows im Dateisystem. Mehr als dort herumliegt und auf die Karte kopiert wird, kann auch nicht am Miniserver drauf liegen.
          In Summe sind systemseitig (unsichtbar) vielleicht die 64MB, dann vielleicht noch am Anfang was für einen MBR, fix belegt.


          Bei einer frisch formatierten Karte kann man von etwa 40 MB Belegung ausgehen, die auch im System sichtbar sind.
          Mein "alter" Miniserver belegt derzeit insgesamt ca. 374 MB (in Betrieb seit ... pfu ... ~5 Jahren?).
          Mein "neuer" Miniserver belegt derzeit insgesamt ca. 40 MB (in Betrieb seit Mai 2016)

          lg, Christian
          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

          Kommentar


          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Ich hab's heute nur mit Windows probiert. FTP als Laufwerk gehostet und Laufwerkgröße anzeigen lassen.
            Plus minus 100MB wären mir egal, solange die konstant sind. Man könnte dann diesem als Offset dazu rechnen.
            Hat man die Speicherkarte in Raspberry als Laufwerk eingebunden müsste man sich ein Skript aufsetzen und als cronjob laufen lassen, welches stündlich oder täglich die Speichergröße erfasst und erstmal irgendwo anlegt. Datei oder Datenbank ist erstmal egal. Könnte man beides mit PHP und loxone auslesen...

            Testen kann ich leider erst Montag :/
            Zuletzt geändert von Gast; 21.10.2016, 18:09.

          • Christian Fenzl
            Christian Fenzl kommentierte
            Kommentar bearbeiten
            Ich hab leider keine Ahnung, wovon du sprichst.
            Aber wenn's klappt, dann lass uns teilhaben.
        • svethi
          Lebende Foren Legende
          • 25.08.2015
          • 6346

          #8
          Ich habe auch schon einmal versucht das Image zu mounten und bin gescheitert. Es wird oft davon gesprochen, dass das ein FAT16 sein soll, konnte das aber nicht bestätigen. Verneinen kann ich es aber auch nicht, da wie Du auch gemerkt hast, eine ordnungsgemäße Partitionstabelle fehlt. Irgendwie kann ich aber nicht glauben, dass Loxone ausgerechnet hier mit allen Tricks gearbeitet hat. Vielleicht ist das ja auch nur eine halbgare Implementation des FAT16 und daher auch so fehleranfällig. Denn sind wir uns mal einig, oftmals ist nur das Loxone-Filesystem zerschossen und nicht die Hardware (SD-Karte)
          Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

          Kommentar

          • Gast

            #9
            Und es geht doch!
            - SD-Karte der loxone via FTP im Raspberry mittels “curlftpls“ dauerhaft als Verzeichnis bereit bestellt.
            - Speichergrösse des Verzeichnisses mittels Script und dem Befehl “du -sh /Verzeichnis“ ausgelesen und mit Zeitstempel in eine Datei geschrieben.
            - Die Datei mit dem belegten Speicherplatz und Zeitstempel kann man jetzt mittels PHP oder loxone auslesen.

            Das Script periodisch auf dem Raspberry aufzurufen, sollte kein Problem mehr sein.

            ...mehr ist's nicht

            Kommentar


            • BSiege
              BSiege kommentierte
              Kommentar bearbeiten
              Manchmal hilft es den ersten Post wieder mal zu lesen... Das hier gelöste Problem ist leider inexistent. Der FREIE Speicher auf der SD-Karte IM MS ist gefragt.
          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11250

            #10
            Cool!
            Du hast bewiesen, dass das funktioniert, was ich versucht hab, dir vor einer Woche zu erklären.
            Gemountet hast du das Image dennoch nicht, sondern eine FTP-Verbindung aufgemacht.
            Den belegten Speicher abzufragen war, was ich gemeint hatte, dass das Backup-Plugin gleich mitmachen sollte.

            PS: Ich bin davon ausgegangen, dass du den FREIEN Speicher auslesen geschafft hast. Dafür gibt es keinen Befehl. Den belegten Speicher kenn das Backup-Plugin (macht ja ein Backup), damit ist es eine Trivial-Aktion, die in 5 Minuten implementiert wäre. Deswegen meine Idee mit dem Backup-Plugin.
            Zuletzt geändert von Christian Fenzl; 25.10.2016, 18:21.
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • svethi
              Lebende Foren Legende
              • 25.08.2015
              • 6346

              #11
              Ganz genau. Seine Frage war ja den freien Speicher abzufragen. Und so wie ich curl für Webanfragen kenne, wird da auch nichts gemountet, auch nicht temporär sondern per FTP der Inhalt kopiert.
              Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

              Kommentar

              Lädt...