Festplattenwarner
=================

Artefakt:
  Festplattenwarner.exe
  FestplattenwarnerSetup.exe
  FestplattenwarnerPortable.zip

Start:
  Doppelklick auf Festplattenwarner.exe

CLI:
  Festplattenwarner.exe --help
  Festplattenwarner.exe --check-once
  Festplattenwarner.exe --install-autostart
  Festplattenwarner.exe --remove-autostart

Funktionen:
  - echte Windows-EXE ohne PowerShell- oder Batch-Starter
  - Tray-App mit dynamischem Speicherplatz-Icon
  - Online-Updateprüfung über Hilfe- und Tray-Menü; neue Versionen können auf Wunsch direkt heruntergeladen und installiert werden
  - Updatefrist: nach 60 Tagen seit erkannter neuer Version zeigt die App nur noch den Installationshinweis, bis aktualisiert wurde
  - das Setup versucht eine laufende Festplattenwarner-Instanz automatisch zu beenden; wenn das nicht gelingt, bitte die Tray-/Taskbar-App per Rechtsklick beenden und das Setup erneut starten
  - kleine Mini-Grafik am Tray per Linksklick oder Rechtsklick
  - Hauptfenster mit Laufwerkstabelle und Grafik
  - Grafik zeigt belegten Speicher; Prozentangabe ist belegter Anteil
  - alle bereitstehenden Laufwerke werden angezeigt, auch spaete Buchstaben wie Y: und Z:
  - zweisprachig Deutsch/Englisch; Umschaltung per Rechtsklick im Tray
  - zweispaltiges, gruppiertes Tray-Rechtsklickfenster; sichtbare Gruppen passen sich an SMART-/Cloud-/Warnungszustand an
  - Warnungs-Sammelfenster mit interner HTML-Ansicht, Priorität, Bewertung und optionalem Öffnen im Browser
  - Warnungen werden automatisch als JSON und CSV unter data\snapshots geschrieben
  - Warnungsliste mit Suchfeld, Schalter für abgelaufene Warnungen, Spalte "nicht mehr seit", roter Markierung des auslösenden Werts und klickbarem Laufwerk zum Öffnen im Explorer
  - Warnungen verlinken vorhandene Speicheranalyse-Tools wie TreeSize, WizTree, WinDirStat oder SpaceSniffer; SMART-Warnungen verlinken Hard Disk Sentinel, wenn installiert
  - erster Start in OS-Sprache, Deutsch wenn OS Deutsch ist, sonst Englisch
  - einstellbares Prüfintervall von 1 Stunde bis 1 Monat
  - Startwert Intervall: 1 Tag
  - Warnung unter 10 GB frei oder unter 2 Prozent frei
  - Papierkorbgroesse pro Laufwerk
  - Option zum Papierkorb-Leeren bei Platzmangel, standardmaessig aus
  - Autostart ueber HKCU Run
  - Einstellungen als JSON und Registry-Spiegel
  - sofortige Sicherungen in data\backups
  - Tabellenexport: CSV, TXT, JSON, XML, XLS, ODS
  - Prognoseexport: CSV/TXT mit numerischem Sortwert in Tagen
  - Grafikexport: PNG, JPG, BMP, SVG
  - Prozent/Speicher-Grafikmodus; im Speicher-Modus skaliert auch die graue Hintergrundflaeche nach echter Laufwerksgroesse
  - Laufwerkstypen koennen per Rechtsklick manuell als lokal, gemappt, CD/DVD, RAM, Diskette oder Tape markiert werden
  - Cloud-Laufwerke und Cloud-Ordner werden sparsam erkannt: Laufwerksbuchstaben, Windows SyncRootManager, Registry, Umgebung, Provider-Konfigurationen und bekannte Benutzerordner, ohne rekursive Ordnersuche
  - Cloudsuche läuft beim Start, auf Wunsch und monatlich; Box-Registry, SyncRootManager, Desktop-NameSpace, Uninstall-Einträge, AppData-Spuren und Provider-Konfigurationen werden berücksichtigt
  - Cloud-Tabelle: grau bedeutet historische/nicht installierte Software-Spur, kursiv bedeutet fehlender Ordner; Kombinationen sind möglich und im Footer erklärt
  - unbekannte Cloud-Spuren können eine vorbereitete Mail an webmaster@jostjahn.de erzeugen, um die kostenlose App zu verbessern; die Mail wird nie automatisch gesendet und die Erinnerung wiederholt sich nur nach 30 Tagen
  - Nextcloud-Konfigurationen mit mehreren Accounts und localPath-Einträgen werden erkannt; alte Cloud-Provider wie Amazon Drive, Box, Dropbox, GMX Cloud, IDrive, Backblaze, Sync.com, Seafile, Jottacloud, SugarSync, Icedrive, Internxt, kDrive, Filen und Yandex Disk werden als Provider/Folderspuren berücksichtigt, wenn ein echter Ordnerpfad gefunden wird
  - SMART/Temperatur-Warnungen per Tray-Schalter, bevorzugt über Hard Disk Sentinel WMI, danach über konfigurierte XML-Pfade und E:\HDSentinel, danach smartctl.exe aus smartmontools
  - wenn smartctl fehlt und keine andere SMART-Quelle Daten liefert, fragt die App einmalig, ob smartmontools installiert werden soll
  - kurzer Hinweis "SMART fehlt" mit Hover-Erklaerung, einmal pro Tag beim sichtbaren Aufruf fuer 1 Minute
  - Tray-Eintraege fuer smartmontools installieren/deinstallieren
  - Mini-Grafik blendet die Prozent/Speicher-Umschalter aus, damit keine Linienreste erscheinen
  - Tabellenkoepfe sind hoeher, umbrechend und oben ausgerichtet; Papierkorb-Spalten sind lesbarer
  - obere Laufwerkstabelle mit waagerechtem Scrollbalken; Spalten koennen sehr schmal gezogen werden
  - manuelle Spaltenbreiten werden in JSON und Registry gespeichert
  - Spalten koennen per Rechtsklick unter Spalten ausgeblendet und zurueckgesetzt werden; Haupttabelle und SMART-Details speichern die Auswahl
  - Spalten-Presets fuer Standard, SMART, Backup und Minimal in Haupttabelle und SMART-Details
  - SMART neu pruefen und SMART-Diagnose in Hilfe- und Tray-Menue, solange eine SMART-Quelle funktioniert
  - SMART-Timeouts und Zugriff-verweigert-Fehler werden als Diagnose protokolliert und nicht als Laufwerk gespeichert
  - fehlgeschlagene SMART-Scans werden nur einmal pro Kalendermonat neu versucht; bis dahin verschwinden SMART-Eintraege aus dem Tray-Menue

Runtime-Daten:
  E:\codex\Festplattenwarner\data, wenn die App im Projektordner liegt.
  Sonst: data neben der EXE.
  Es wird kein C:-Benutzerordner als Runtime-Ziel verwendet.

Registry:
  HKCU\Software\AmrumSoftware\Festplattenwarner
  HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Festplattenwarner
  - Umschaltbuttons stehen direkt hinter dem Titel der Belegungsgrafik, nicht am Scrollbereich.
  - kompakte Legende fuer graue ausgeschlossene Laufwerkstypen direkt in der Belegungsgrafik
  - Einstellungen als JSON exportieren und importieren, auch aus dem Tray-Menue
  - optionaler Schalter: Nur kritische Laufwerke in der Tabelle anzeigen
  - SMART-Kurzuebersicht fuer Temperatur, Betriebsstunden und Einschaltungen, soweit Hard Disk Sentinel XML oder smartctl die Werte liefern; HDSentinel.sta liefert mindestens Health und Temperatur
  - SMART-Details mit Tabelle und Verlaufsgrafik fuer Temperatur, Betriebsstunden-Differenz, Fehlerzaehler und Risiko 0-100
  - SMART-Kurvenexport pro Detailgrafik als PNG, JPG, BMP, SVG oder Zwischenablage
  - alle SMART-Grafiken können als eine lokale HTML-Datei exportiert und im eigenen App-Fenster geöffnet werden
  - SMART-Grenzwerte einstellbar fuer Temperatur, Pending, Uncorrectable, CRC, Wear, Available Spare, Media Errors und Reallocated
  - SMART-Bericht zeigt zusaetzlich Reallocated, Pending, Uncorrectable, CRC, Wear-Prozent, Available Spare und Media Errors, soweit vorhanden
  - data\reports\smart-latest.csv und smart-history.csv enthalten die SMART-Kurzuebersicht und den Verlauf
  - Hauptseite: Laufwerkstabelle und Grafik teilen sich die Hoehe ueber einen verschiebbaren Teiler; die Position wird in JSON und Registry gespeichert
  - Speichern bleibt robust, auch wenn die Intervallauswahl durch kleine Fenster oder UI-Neuaufbau leer erscheint
  - rechte Einstellungsbox ist scrollbar; der erklaerende Text unter Datenordner wurde entfernt
  - SMART-Scan nutzt Hard Disk Sentinel als bevorzugte Quelle; root\wmi:HDSentinel, konfigurierte XML-Pfade, E:\HDSentinel\HDSentinel.xml und E:\HDSentinel\HDSentinel.sta werden beruecksichtigt; bei smartctl nutzt ein langsamer Standardscan einen --scan-open-Fallback; Zugriff verweigert wird als Diagnose angezeigt, nicht als Plattenwarnung
  - SMART-Details und SMART-Quellen sind direkt im Einstellungsbereich, im Hilfe-Menue und im Tray erreichbar
  - obere Tabelle zeigt physische Platte laut Windows-WMI-Zuordnung, SMART-Health, Temperatur und neue SMART-Aenderungen
  - HDSentinel-Drive-IDs werden mit Windows Disk # verknuepft, sodass SMART-Werte auch bei USB-/UASP-Platten der richtigen Partition zugeordnet werden
  - neue Spalte Anschluß zeigt alle gemeldeten Bus-/Adaptertexte wie SATA, USB, UASP, SCSI, SAS, NVMe oder IDE plus intern/extern-Markierung
  - SMART-Details-Tabelle hat frei ziehbare, sortierbare Spalten, normalen horizontalen Tabellen-Scrollbar, Kopf-Hover und gespeicherte Spaltenbreiten
  - Laufwerke koennen per Rechtsklick mit einem sicheren Lesemuster identifiziert werden; dabei werden nur kleine Bloecke vorhandener Dateien gelesen und keine Daten geschrieben
  - Port-/Gehaeuse-Spalte zeigt einen kurzen Hinweis aus HDSentinel oder Windows-PNP-ID, um gleiche USB-Gehaeuse besser zu unterscheiden
  - SMART-Zuordnung kann per Rechtsklick manuell gesetzt werden; nach dem sicheren Lesemuster kann die App die beobachtete SMART-Platte lernen
  - bekannte externe Laufwerke werden gespeichert; fehlende externe Laufwerke bleiben standardmaessig ruhig, An-/Abmeldeinfos sind im Tray schaltbar
  - SMART-Details koennen als CSV/HTML nach sichtbaren Spalten, Reihenfolge und Breiten exportiert oder kopiert werden
  - externe Profile pro Gehaeuse/Port mit eigenem Anzeigenamen, Speicherwarnung und Temperaturwarnung
  - externe Topologieansicht zeigt bekannte Platten mit letztem und aktuellem Laufwerksbuchstaben, Port/Gehauese und Backup-Plan
  - die Haupttabelle zeigt Zuordnungsvertrauen: manuell, gelernt, auto oder unsicher
  - HDSentinel-Rohdatenfenster pro Platte zeigt WMI-Felder und SMART-Rohdaten
  - SMART-Risikoampel bewertet Health, Temperatur, Fehlerzaehler, Alter, Einschaltungen, Wear und Available Spare
  - Temperaturtrend-Warnung ueber mehrere Messpunkte, wenn die Platte erkennbar pro Tag waermer wird
  - Profilverwaltung fuer bekannte externe Laufwerke, auch wenn sie gerade abwesend sind
  - externe Profile koennen als erwartete Backup-Platte markiert werden; Vermisst-Warnung nach Tageszahl oder Backup-Plan (taeglich, woechentlich, monatlich oder Wochentag)
  - Monatsbericht nennt schleichende SMART-Verschlechterung auch unterhalb harter Grenzwerte
  - Port-/Gehaeusewechsel bekannter externer Platten wird erkannt und gemeldet
  - Warnung, wenn eine bekannte externe Platte unter anderem Laufwerksbuchstaben erscheint
  - SMART-Warnungen werden in der Kopfzeile getrennt von Speicherwarnungen gezaehlt
  - Mini-Grafik zeigt eine kompakte SMART-Zeile mit Quelle, Geraetezahl, minimalem Health-Wert und maximaler Temperatur
  - Tray-Menue schliesst nach Klick auf einen Menuebefehl wieder
  - Tray-Beenden repariert: das Kontextmenue schliesst nach dem Befehl, nicht davor; Beenden funktioniert wieder zuverlaessig

Fehlerberichte:
  Bei Anzeige- oder Layoutfehlern bitte Screenshots der Mini-Grafik und des Hauptfensters mitsenden,
  besonders wenn die Mini-Grafik ab der Summe abgeschnitten ist.
