LoxSDCardCheck: Sendet dir eine EMail wenn die Miniserver SD-Karte fehlerhaft wird

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • soko
    Extension Master
    • 07.09.2015
    • 124

    #1

    LoxSDCardCheck: Sendet dir eine EMail wenn die Miniserver SD-Karte fehlerhaft wird

    Hallo Leute,

    Ich hab ein kleines Programm entwickelt welches eine fehlerhafte SD-Karte diagnostiziert und mich dann per email verständigt. Also praktisch eine Überwachung der SD-Karte.

    Nachdem ich ja schon einige Statistikdaten verloren habe und meine aktuelle SD-Karte wieder zu spinnen anfängt hab ich LoxSDCardCheck kurz zusammenprogrammiert.


    GROBÜBERSICHT

    Was kann es:
    - Überprüft das Log-File des Miniservers auf "Error" oder "Warn" Einträge (MS schreibt SD-Karten Probleme als Error ins Log-File)
    - Führt den SD-Card-Check des Miniservers (/dev/sys/sdtest) durch

    Was macht es:
    - Sollte bei den Checks was schief gehn schickt es eine email

    Was braucht es:
    - Einen Windows Rechner und Microsoft .NET v4.5 (mindestens)

    Einsatzszenarios:
    - Auf dem Heinrechner per Windows-Task-Scheduler automatisch beim Start/Einloggen autom. laufen lassen
    - Auf einem Rechner der dauernd läuft per Windows-Task-Scheduler z.B. einmal pro Tag laufen lassen

    Alternativen/Notwendigkeit:
    - Ab v10 hat Loxone anscheinend selbt eine SD-Kartenüberwachung drinnen. Was die genau macht ist nicht bekannt.
    - Also LoxSDCardCheck ist für alle < v10 (wie mich) und die eine zweite Absicherung wollen

    DETAILS

    Das Programm besteht nur aus der EXE und einer LoxSDCardCheck.exe.config Datei wo die Einstellungen gemacht werden. Eine Installation ist nicht nötig (außer das .NET Framework halt)! Einfach irgendwo hin kopieren und starten.

    Was man genau alles einstellen kann und wie hab ich in der config-Datei beschrieben. Diese ist nix anderes als eine Textdatei (kann also mit z.B. Notepad bearbeitet werden) die XML-Daten enhält. Die grünen Zeilen sind meine Kommentare/Hilfe/Beschreibung zu den Einstellungen:

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot2.png Ansichten: 1 Größe: 66,3 KB ID: 162420

    Das Programm gibt z.B. folgende Meldungen aus:
    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot3.png Ansichten: 1 Größe: 14,3 KB ID: 162421
    Da es aber nicht dazu gedacht ist vom Benutzer gestartet zu werden und zusätzlich ein Konsolenprogramm ist geht das Fenster automatisch zu.
    Um alle Ausgaben zu sehen einfach von einer Kommandozeile aus starten oder eine BAT-Datei (z.B. LoxSDCardCheckUser.bat) mit folgendem Inhalt im selben Verzeichnis anlegen:
    Code:
    LoxSDCardCheck.exe
    pause

    ZUSÄTZLICHES

    Ich hab das Programm so gestaltet, dass man angeben kann nach was im MS-Log gesucht wird und was dort drin als "Fehler" angesehen wird. Das geschieht mittels der "EmailSendOnTheseLogWords" Einstellung.

    Damit kann man aber eigentlich jedes Text-File das am Miniserver per FTP gedownloaded werden kann überwachen!

    Ich hab zum Testen z.B. den Wert von "EmailSendOnTheseLogWords" auf "error warn boot" erweitert und hab dann folgende Email bekommen:

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot5.png Ansichten: 1 Größe: 56,4 KB ID: 162422

    Ich hoffe das es dem einen oder anderen von euch auch helfen wird ruhiger zu Schlafen

    Soko
    Zuletzt geändert von soko; 31.07.2018, 10:26.
  • Leo Kirch
    MS Profi
    • 26.08.2015
    • 831

    #2
    Hallo @soko,

    vielen Dank für Dein Programm, das wäre gut im Wiki aufgehoben
    -

    Kommentar


    • soko
      soko kommentierte
      Kommentar bearbeiten
      Hab ich auch schon gedacht... Da hat aber nicht jedermann (sprich ich) Zugriff um was reinzuschreiben, oder?

    • Leo Kirch
      Leo Kirch kommentierte
      Kommentar bearbeiten
      Du kannst Dich unkompliziert anmelden und Deiner Kreativität freien Lauf lassen ;-), danke!

    • soko
      soko kommentierte
      Kommentar bearbeiten
      Done!
      Ist in der gleichen Ebene wie die Datenrettung (unterm Micro-SD-Karten Punkt)
  • f.hien
    LoxBus Spammer
    • 31.08.2015
    • 373

    #3
    Wär das vielleicht was um es auf dem Loxberry laufen zu lassen?

    Kommentar


    • soko
      soko kommentierte
      Kommentar bearbeiten
      Hmmm... des weiß ich ned. Solang das ein Windows Betriebssystem ist (was ich bezweifle) und .NET drauf läuft schon...
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6319

    #4
    Hat nicht eher die Erfahrung gezeigt, dass der Loxone SD-Kartentest auch nicht richtig gearbeitet hat? Des Weiteren ist zu bedenken, dass man eine SD-Karte unendlich lesen, aber nur limitiert schreiben kann. Um die Karte also wirklich testen zu können, müsste man sie beschreiben und das wiederum verkürzt die Lebenszeit der Karte. Da beißt sich die Maus in den eigenen Schwanz.
    Zuletzt geändert von svethi; 30.07.2018, 21:23.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11238

      #5
      Unklar ist bisweilen, ob der Loxone sdtest selbst auch Schreibzugriffe durchführt. Das wäre dann bei häufigem Aufruf kontraproduktiv.
      Ich erinnere mich an einen Thread, wo der sdtest häufig aufgerufen wurde, und die SD überaus schnell das Zeitliche segnete.

      Das Parsen des Logs finde ich eine gute Idee. Ich weiß nicht, ob Loxone auch dann SD-Fehler ins Log schreibt, wenn sdtest nicht benutzt wird. Wenn das so ist, ist man schon mal gewarnt.

      soko Merkst du dir den Timestamp des letzten Eintrags? Sonst würde die gleiche Zeile immer wieder ein Mail triggern.
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar

      • Lightpicture
        Lebende Foren Legende
        • 16.11.2015
        • 3656

        #6
        Danke für dein Programm
        FG
        Lightpicture

        Nur ein Netzwerkkabel ist richtiges WLAN

        Kommentar

        • soko
          Extension Master
          • 07.09.2015
          • 124

          #7
          svethi
          Bei mir hat der Test Fehler gemeldet und ich hab dann die Karte ausgetauscht. Aber wie der angeheftete Link zeigt, kann auch die SD-Karte auch fehlerhaft sein, wenn der Test keine Fehler meldet => Da hast du also vollkommen recht! Darum habe ich die Log-Prüfung zusätzlich eingebaut.

          Christian Fenzl
          Naja, man soll mein Programm auch nicht jede Minute laufen lassen Und ob jetz der SDTest einen zusätzlichen Schreibzugriff ausführt zu all den Statistiken (die zumindest ich) schreibe sollte nicht ins Gewicht fallen.
          Wie der Link zeigt: Loxone schreibt SD-Karten Fehler ins LOG die selbst der SDTest nicht findet.
          Den Timestamp merk ich mir (aktuell) nicht. Ich hab das kurz überlegt aber mir war lieber, dass das Programm nervig ist und immer denselben Fehler meldet. Denn ich soll ja auch zeitnah die Karte austauschen
          Zudem bekommt man dann halt 1x am Tag eine email mit allen Fehlern und kann dann selbst die emails vergleichen ob was hinzugekommen ist...
          Hallo, im Logfile des Miniservers (def.log) taucht seit einigen Tagen eine Meldung "SDC number of errors: nn" auf, wobei sich nn taeglich leicht
          Zuletzt geändert von soko; 31.07.2018, 07:56.

          Kommentar

          • Gerrit
            MS Profi
            • 26.08.2015
            • 940

            #8
            Vielleicht noch nicht bekannt, aber LoxoneConfig 10 verschickt jetzt auch Mails und Push-Nachrichten bei SD Karten Fehler. Gibt auch verschiedene Ausprägungen von Fehlern der SD Karte glaube ich.

            Kommentar

            • svethi
              Lebende Foren Legende
              • 25.08.2015
              • 6319

              #9
              soko klar. Es ist immer besser event eine Nachricht zu bekommen als gar keine ;-). War ja auch keine Kritik an Deiner Software sondern eher am SDTest ;-). Dein Programm nutzt doch sicher nichts hardwarebezogenes. Vielleicht läuft es ja auch unter mono ;-)
              Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

              Kommentar


              • Prof.Mobilux
                Prof.Mobilux kommentierte
                Kommentar bearbeiten
                christof89 Ich würde ein Plugin unabhängig von loxConfig10 sehr cool finden. Es sind viele da, die nicht mal auf V9 sind. Und etwas unabhängig von Loxone zu haben ist immer gut :-) Zudem ist das parsen des Logfiles cool - das hat Loxone garantiert nicht.

              • christof89
                christof89 kommentierte
                Kommentar bearbeiten
                Prof.Mobilux - "Und etwas unabhängig von Loxone zu haben ist immer gut"
                Unabhängig von Loxone wäre es aber nicht, es würde ja auf den LogFiles von Loxone basieren - die Auswertung.

                Aber kann mir das gerne ansehen und ein Plugin für den LoxBerry starten,
                muss mir mal ansehen wie die Programmierung funktioniert...

              • Prof.Mobilux
                Prof.Mobilux kommentierte
                Kommentar bearbeiten
                christof89 Das ist schon klar, richtig unabhängig ist es nicht. Kann es ja auch gar nicht sein. Aber man kann mit einem derartigen Plugin entscheiden, was gemeldet wird und was nicht. Die Einstellungen kannst du in der LoxSoftware garantiert nicht vornehmen.

                Wenn du Hilfe brauchst oder fragen hast schreibe mal Christian Fenzl an. Wir haben eine WhatsApp Gruppe mit allen Pluginentwicklern. Da können wir sehr schnell helfen. Christian verwaltet die Gruppe.

                Fürs erste: https://www.loxwiki.eu/display/LOXBE...+eines+Plugins
            • Gerd Clever
              MS Profi
              • 24.07.2016
              • 642

              #10
              Zitat von Gerrit
              Vielleicht noch nicht bekannt, aber LoxoneConfig 10 verschickt jetzt auch Mails und Push-Nachrichten bei SD Karten Fehler.
              Solange die Nachrichten nur auf "Loxone-Fakten" beruhen, sind sie für mich nur begrenzt von Wert. Loxone hat schon in der Vergangenheit eigene Fehler, z. B. Probleme mit dem "Container" .LoxoneF, unter SD-Karten-Fehler subsumiert.

              Interessant in dem Zusammenhang auch die Untersuchung von sarnau in Loxwiki zum Mythos der Loxone-eigenen SD-Karten:

              "Ich habe mir die Kommunikation zwischen Miniserver und SD Karte mal angesehen. Ohne große Worte: der Miniserver nutzt nur mandatory Commands um mit den SD Karten zu sprechen, d.h. jede SD Karte eines guten Herstellers sollte funktionieren, so lange die Kapazität nicht zu groß ist.

              Das Risiko ist billige China-Ware, die teilweise 2GB SD Karten auf 16GB umlabeled und zwar so, daß sie Firmware 16GB meldet. Dadurch hat man dann zwangsweise Datenverluste, wenn man mehr schreibt. Zudem ist die Performance von solchen Karten i.d.R. fürchterlich. Auf der Plus Seite: der Miniserver überprüft das Filesystem, so daß Fehler durch Prüfsummen sofort entdeckt werden."


              Vollständige Erklärungen hier: http://sarnau.info/loxone-microsd-cards/
              Zuletzt geändert von Gerd Clever; 31.07.2018, 09:42. Grund: Link war fehlerhaft.
              Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

              Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

              Kommentar


              • soko
                soko kommentierte
                Kommentar bearbeiten
                Interessant...
                Ich hatte einige Zeit eine SanDisk 16GB (umformatiert auf 4GB) im Einsatz bis der Miniserver immer wieder nicht erreichbar war per App, LoxoneConfig, Website (also alles ISO/OSI-Layer ab 4) ABER auf einen Ping (Layer 3) antwortete und die Steuerung funkte auch: https://www.loxforum.com/forum/germa...g-funktioniert

                Seit ich die originale Loxone wieder im Einsatz hatte => kein Problem

              • Gerrit
                Gerrit kommentierte
                Kommentar bearbeiten
                Das check Programm von soko benutzt ja auch die “Loxone-Fakten“. Um das Dateisystem zu prüfen müsste man wahrscheinlich schon mehr Interna von loxone kennen
            • sarnau
              Smart Home'r
              • 23.02.2018
              • 46

              #11
              Es gibt übrigens 3 Typen von SD Karten Fehler:
              - Hardware Fehler beim Lesen/Schreiben von Blöcken. Hier scheitert die Kommunikation mit der SD Karte. In dem Fall wird automatisch eine Reparatur versucht.
              - CRC Fehler. Das Loxone Filesystem bildet Prüfsummen über jeden Block, falls die nicht stimmen, ist das auch ein Fehler. Hier wird ebenfalls eine Reparatur versucht.
              - SD Karte voll.

              Kommentar


              • Christian Fenzl
                Christian Fenzl kommentierte
                Kommentar bearbeiten
                Der Loxone-Fehler selbst fehlt:
                - Loxone zerballert durch Bug/Timing/Collision das eigene Dateisystem, bildet davon dann aber eine CRC und der Fehler bleibt unbemerkt. Irgendwann ist die Filetable kaputt und der Miniserver kann nicht mehr booten.

                Das ist aus meiner Sicht der häufigste "SD-Karte-kaputt" Fehler, der mit der Hardware aber gar nichts zu tun hat.

              • sarnau
                sarnau kommentierte
                Kommentar bearbeiten
                Klaro, aber das hat nur indirekt was mit SD Karten zu tun, ist ja ein Bug im Miniserver, der fälschlicherweise den SD Karten zugerechnet wird.

              • Gerd Clever
                Gerd Clever kommentierte
                Kommentar bearbeiten
                Danke, dass ihr das auch so seht. Genau das wollte ich mit meinem Beitrag #10 sagen.
            • sarnau
              Smart Home'r
              • 23.02.2018
              • 46

              #12
              Es wäre übrigens mal sehr interessant hier die "Manufacturer IDs" von Loxone SD Karten zu posten. Daran kann man erkennen, welche(n) Hersteller sie nutzen.

              Kommentar


              • soko
                soko kommentierte
                Kommentar bearbeiten
                Die ID=2
                <LL control="dev/sys/sdtest" value="SD performance read=725kB/s write=886kB/s no error (0 0), ManufactorerID 2 Date 2016/10 CardType 2 Blocksize 512 Erase 0 MaxtransferRate 25000000 RWfactor 2 ReadSpeed 22222222Hz WriteSpeed 22222222Hz MaxReadCurrentVDDmin 3 MaxReadCurrentVDDmax 5 MaxWriteCurrentVDDmin 0 MaxWriteCurrentVDDmax 5" Code="200"/>
            • sarnau
              Smart Home'r
              • 23.02.2018
              • 46

              #13
              ID 2 ist Toshiba. Hier ein paar Beispiel von Toshiba Kunden: Kingston, Patriot, HP, PNY. Hersteller von SD Karten kaufen in verschiedenen Quellen ein, ist also nicht immer eindeutig.

              Kommentar

              • Nobbi75
                Lox Guru
                • 25.08.2015
                • 1264

                #14
                Ich hatte schon die erste Meldung für eine defekte SD Karte bekommen. Es ist sowohl in der Config, als auch in der VISU unübersehbar.
                Die Meldung kam bevor Ausfälle zu erkennen waren....

                Meine 4GB Transcend Karte hat jetzt nach wenigen Monaten schon die Grätsche gemacht. Die alte Loxone Karte hat nach gut 1,5 Jahren den Geist aufgegeben. In dem Zusammenhang habe ich die Statistiken um 95% reduziert...ich hatte mal zur Sicherheit diese Karte als Reserve gekauft, da ich gelesen hatte, dass die was taugt...tja Fehlanzeige


                Gesendet von iPad mit Tapatalk Pro

                Kommentar


                • sarnau
                  sarnau kommentierte
                  Kommentar bearbeiten
                  SD Karten haben nur eine begrenze Anzahl an Schreibzugriffen auf einen Speicherblock bevor eine Zelle kaput ist. Diese Anzahl kann im Einzelfall ein paar tausend Zugriffe sein. Das ist natürlich sehr gering. Deswegen haben die SD Karten zumindest von namhaften Herstellern (z.B. Sandisk) ein "wear leveling", d.h. sie versuchen Schreibzugriffe über den gesamten Flash-Speicher zu verteilen, das sorgt dafür das alle Zellen gleichmäßig abgenutzt werden. Zudem gibt es häufig auch ein paar Reservezellen um Defekte zu ersetzen.

                  Neben der Warnung möglichst wenig Schreibzugriffe zu machen (ich lasse Raspberry PI im Haus i.d.R. auf einem read-only Filesystem laufen, so daß gar keine Zugriffe stattfinden; bei Loxone sollte man die Statistik und das Logging minimieren), gibt es eine weitere Möglichkeit die Lebensdauer zu erhöhen: einfach eine größere SD Karte nutzen. 16GB wird von Loxone anscheinend offiziell unterstützt, im Vergleich zu 4GB hat man somit automatisch eine 4-fach längere Lebensdauer, wenn man alle anderen Faktoren ausschließt.
              • Thomas M.
                Lebende Foren Legende
                • 25.08.2015
                • 3264

                #15
                Also loxone hat mittlerweile selbst eine SD Überwachung in der config eingebaut.
                Wie gut die ist, kann ich nciht sagen, bei mir hat sie sich noch nicht gemeldet

                Kommentar

                Lädt...