[Vorstellung] YAHW - Yet Another Hardware Monitor (Hobby-Projekt)

Steve192

Experte
Thread Starter
Mitglied seit
21.06.2012
Beiträge
27
Hallo zusammen,

ich möchte Euch hier einmal ein kleines Hobby-Projekt von mir vorstellen. Kurz zum Hintergrund:

Ich habe mich in letzter Zeit wieder etwas intensiver mit PC-Hardware auseinandergesetzt (Aufbau diverser PCs, Overclocking, usw.) und in diesem Zusammenhang habe ich nach passender Monitoring-Software für die diversen Hardwarekomponenten (CPU, HDD, ...) gesucht. Es gibt hier ja einige Programme für die unterschiedlichsten Einsatzzwecke. Manche Hardwarehersteller liefern ja teilweise auch eigene Software mit (z.B. die AI-Suite von ASUS zum Auslesen der diversen Temperatursensoren, USB-Tuning, usw.). Dies hat aber den folgenden Nachteil: Wenn ich nun z.B. nur die Temperatursensoren überwachen möchte muss ein Programmpaket mit mehreren 100 MB installiert werden (ein riesiger Overhead).

Dann gibt es ja noch diverse Freeware-Programme, u.a. den Open Hardware Monitor. Mit diesem Programm ist es ebenfalls möglich diverse Temperatursensoren auszulesen und bei einigen Mainboards lassen sich sogar die Lüftereinstellungen regeln! Hier will mir allerdings das UI nicht so richtig gefallen und mir fehlten zusätzliche Hardwareinformationen (z.B. verbaute Grafikkarte, S.M.A.R.T-Informationen der HDDs, usw.). Die Entwickler bieten nun eine separate Bibliothek für die Verwendung in eigenen Programmen und daher habe ich mal mit einem eigenen Hardware-Monitor angefangen, den ich Euch hier einmal vorstellen möchte (ich denke hier gibt es evtl. einige Leute, die vielleicht Interesse an dem Programm haben. Zumal ich hier auch schon nützliche Tipps und Tricks zu diversen Hardwarethemen bekommen habe):

Das Programm basiert auf dem .NET-Framework 4.5.1 (Programmiersprache C#) und als Oberflächentechnologie kommt WPF zum Einsatz. Für das Auslesen der diversen Hardware-Sensoren kommt die OpenHardwareMonitor-Bibliothek zum Einsatz. Für die zusätzlichen Informationen wie verbaute Grafikkarte, S.M.A.R.T-Informationen usw. werden native API-Calls sowie WMI verwendet. Ziel des Pogramms ist es möglichst viele Hadwarekomponenten in einer einzelnen Anwendung zu überwachen. Das Programm befindet sich in einer sehr frühen Entwicklungsphase und bietet aktuell die folgenden Funktionen:

Aktuell gibt es die folgenden Funktionen:

  • Auslesen der Mainboard-Informationen inkl. der Hardwaresensoren
  • Überwachung der CPU (Auslastung, Temperatur, Taktgeschwindigkeit)
  • Überwachung Arbeitsspeicher
  • Informationen zur verbauten Grafikkarte
  • S.M.A.R.T-Informationen zu HDDs

Die folgenden Funktionen sind angedacht aber noch nicht implementiert (es gibt noch viel zu tun ;-)):

  • Lüftersteuerung
  • Einstellungen innerhalb des Programms werden noch nicht gespeichert
  • Reporting
  • Alarme für die verschiedenen Sensoren
  • Logging
  • ...
Jetzt habe ich viel geschrieben, daher mal ein paar Bilder ;-)

Einstiegsbildschirm

YAHW_01.png

Informationen zum Mainboard

YAHW_02.png

Geplante Lüftersteuerung Mainboard (funktioniert noch nicht)

YAHW_03.png

CPU-Informationen (Auslastung, Temperaturen, Taktfrequenz)

YAHW_04.png

Auslastung der einzelnen Cores

YAHW_05.png

Temperaturen der einzelnen Cores

YAHW_06.png

Installierte Grafikkarte

YAHW_07.png

Arbeitsspeicher

YAHW_08.png

S.M.A.R.T Infos HDD

YAHW_09.png

Einige Dialoge sollen noch erweitert werden bzw. werden noch neue Dialoge hinzukommen (z.B. Überwachung Netzwerkkarte, ...). Hier können natürlich Wünsche Eurerseits mit in die Entwicklung einfließen ;-)

Das Ganze ist ein Hobbyprojekt und deshalb nicht bis ins kleinste Detail getestet. Zum einen aus Zeitmangel und zum anderen habe ich hier nur einen PC kann daher nicht jede Hardwarekonstellation durchtesten. Daher wäre ich hier über jegliches Feedback dankbar ;-)

Das Programm selbst muss nicht installiert werden und läuft theoretisch von jedem USB-Stick. Einfach die auf die lokale Festplatte entpacken die YAHW.exe starten (es werden auch keine Werte in die Registry oder ähnliches geschrieben). Die folgenden Systemvoraussetzungen müssen allerdings gegeben sein:

So hier könnt ihr die erste Beta-Version bekommen (leider ist die Datei mit ca. 650 KB zu groß um sie hier direkt an den Beitrag zu hängen). Daher hier der Link: http://www.csharp-blog.de/wp-content/uploads/2015/07/YAHW_Beta_1.zip

Das Ganze ist wie schon geschrieben ein Hobby-Projekt (daher nicht gleich "steinigen" wenn etwas nicht funktioniert ;-)). Bei Fragen, Wünschen oder Anregungen einfach hier melden!

Viele Grüße
Steve

P.S. Falls ich hier nicht in das richtige Unterforum gepostet habe --> bitte verschieben! Danke!
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das sieht eigentlich ziemlich knackig aus. :) Hast du vor das OpenSource (GitHub) zu verbreiten oder bleibt das ein privates Projekt aus "Langeweile"? ;)
 
Hallo Fallwrrk,

Dankeschön ;-)

Über das Thema "OpenSoure" habe ich auch schon nachgedacht. Das Programm ist aus Interesse an dem Thema entstanden und je länger ich mich mit dem Thema beschäftige, desto umfangreicher wird das Ganze (ist glaube ich überall so). Von daher gefällt mir der OpenSource-Gedanke und hier könnte man das ganze evtl. etwas "vorantreiben". Zumal hier der Lerneffekt auch durchaus höher sein kann als wenn man alleine im "stillen Kämmerlein" vor sich hin programmiert. Mit "GitHub" selbst habe ich mich noch nicht auseinandergesetzt (bisher nur TFS und SVN). Von daher finde ich diese Option durchaus interessant (evtl. finde sich hier auch ein paar Leute, die Interesse hätten mitzuwirken?).

Viele Grüße
Steve
 
Git ist nicht schwierig zu bedienen, wenn du SVN kennst. Verabschiede dich nur von dem Gedanken eines zentralen Repos. :d
 
SVN nutze ich aktuell schon für die Organisation des Projekts ;-) Dann werde ich mich mal näher mit dem Thema "Git" beschäftigen ;)
 
colles Projekt. Das gibt mal direkt ein abo :bigok:
Sieht auf den Bidlern auch schon recht schick aus. Werd ich bei gelegenheit bestimmt mal testen.
 
Cooles Projekt, habs mal installiert. Leider stürzt das Programm ab, wenn ich auf "CPU" klicke.
 
Hallo zusammen,

ich habe das Projekt jetzt mal auf GitHub veröffentlicht und ihr seid herzlich eingeladen mitzuentwicklen (evtl. hat ja der eine oder andere Interesse) ;-) Das Repository ist hier zu finden: https://github.com/steve600/YAHW (noch ist alles auf deutsch. Bei Gelegenheit werde ich das mal noch ins Englische übersetzen).

Noch ist mir der Git-Worklow noch nicht so ganz klar?! Hättet jemand ein gutes Einstiegs-Tutorial für mich (am besten in Verbindung mit Visual Studio)?

@MysteryY: Bekommst Du eine Fehlermeldung oder stürzt die Anwendung ohne Vorwarnung ab?

Viele Grüße
Steve
 
Zuletzt bearbeitet:
Nur, dass es nicht mehr funktioniert. Der Problemereignisname lautet CLR20r3.
 
Wow, sehr cooles Projekt :)
Ich werde mich auch mal mit dem Git verknüpfen :)
Hast du schon über die Implementierung von Lüfterkurven nachgedacht?
 
Hast du schon über die Implementierung von Lüfterkurven nachgedacht?

da würd ich mich auch drüber freuen :d
Suche schon länger was um speedfan abzulösen. Das macht den systemstat leider unglaublich träge - trotz ssd Oo und bietet dafür irgendwie nicht genau das was ich suche^^

Also anwender würd ich mir eine mischung aus speedfan und z.b. ner lüfterkurve wünschen. Also, dass ich einzelne lüfter die am mainboard hängen mit nem temperatursensor verknüpfe (so wie speedfan das macht). Zusätzlich wär aber super, wenn eben nicht nur 2 schwellenwerte eingegeben werden könnten, sondern eben wirklich manuell ne kurve für jeden lüfter in abhängigkeit des zugewiesenen temp sensors xD
 
Hi,

über die Lüftersteuerung habe ich noch nicht wirklich nachgedacht (habe lediglich ein paar Ideen). Die Idee mit der Verknüpfung eines Temp-Sensors mit einem Lüfter gefällt mir sehr gut. Das konfigurieren einen eigenen Kurve für den Lüfter sollte technisch machbar sein (hier stellen sich jedoch direkt ein paar Fragen: Wie soll das innerhalb des UIs aussehen, wo speichere ich die Werte, ...).

Ich werde mich heute mal dransetzen und mal versuchen einen kleine UI-Prototypen zu erstellen (mal schauen was dabei rauskommt ;-))

VG
Steve
 
Hallo,

ich habe nochmal ein wenig über die Lüftersteuerung nachgedacht und innerhalb des Dialogs würde das dann in etwa so aussehen:

Lueftersteuerung.png

Kurze Erklärung:

Über den Schieberegler kann man den aktuellen Wert des Lüfters direkt einstellen. Wird jetzt die Checkbox "Erweitert" gesetzt kann eine benutzerdefinierte Kurve (in Abhängigkeit zu einem Temperatursensor) hinterlegt werden. Die ermittelten Temperatursensoren werden dann in der ComboBox angezeigt. Mit der ComboBox "Einstellungen" können vordefinierte Lüfterkurfen ausgewählt werden (z.B. Standard, Leise, Performance, Benutzerdefiniert). Für den Fall "Benutzerdefiniert" ist es möglich die Werte selbst einzugeben (z.B. 30 Grad -> 40 % Lüfter, 45 Grad -> 60 % Lüfter, usw.).

Der Screenshot zeigt lediglich den UI-Prototypen hier ist noch keine Funktionalität implementiert! Mal schauen wie schnell ich das umsetzen kann.

Viele Grüße
Steve
 
sehr sehr geil. Genau sowas wünsch ich mir schon lange. Wenn das ganze mit funktion dann auch im autostart relativ schnell initialisiert werden kann (nicht wie die 2minuten von speedfan Oo) würd ich mal sagen perfekt :bigok:

Kann mangels Fähigkeiten im Programmieren leider nicht beim Entwickeln mithelfen :o - außer als "Endanwender" testen.
Kann ich das bedenkenlos auf meinem Hauptsystem ausprobieren? oder besteht die Chance, das ich mir was wichtiges zerschieße?
Auf dem Laptop funktioniert die beta aus dem ersten post leider nicht. Aber da hat man ja öfter mal probleme mit allen auslese-tools
 
Hallo Sepl,

Dankeschön ;-)

Das Programm greift ja aktuell nur lesend auf die Sensoren zu insofern dürfte hier nichts passieren! Aktuell werden auch noch keine Konfigurations- oder Logdateien geschrieben (da bin ich aber aktuell dran).

Ich werde diese Woche nochmal eine neue Version erstellen und dann zum Download bereitstellen (hier werden dann auch Logdateien geschrieben was die Fehlersuche erleichtert). Leider habe ich hier nur 2 Rechner auf denen ich testen kann. Von daher wäre hier jede Hilfe super (gerade was das Testen angeht) ;)

VG
Steve
 
Zuletzt bearbeitet:
alles klar. Habs mal geladen xD auf dem tower pc läufts auch direkt :bigok:

gibt's spezielle Punkte, auf die man besonders achten soll? oder einfach alles was auffällt (hier im thread?) schreiben?

was ich so direkt sehe:
- Im Reiter Übersicht wird alles soweit korrekt erkannt. Es fehlen allerdings Monitor 2 und 3. Und meine gtx670 ist ganz korrekt ne 670ftw. Ob man letzteres aber überhaupt auslesen kann weiß ich nicht. EVGA PRecision listet sie auch nur als 670
- in den Übersichten wo du min/max untereinanderstellst wie Temps, oder CPU wär ne optische Trennung mit z.b. einer dezenten linie zwischen dem max und dem nächsten min wert angenehmer zu lesen. Die Tabelle besonders bei CPU erschlägt einen sonst etwas. Zumindest bei nem flüchtigen Blick
- scrollrad der maus geht bei den SMART werten nicht
- insgesamt noch etwas träge
- Die FAN Control ist noch komplett ohne Funktion, richtig? (Super wär da für später, wenn der anschluss vom mainboard angezeigt würde und man dem jeweiligen fan dann individuell noch einen namen geben könnte)
- die blaue schrift der SMART Werte im dark modus kann ich zumindest gar nicht lesen^^
- Das Grau im reiter CPu im dark mode ist ebenfalls schwer zu erkennen. Zumindest die IST-Werte bei Auslastung, Temp, Takt
dark mode.PNG

Ansonsten macht das Ding echt einen super Eindruck. Da kann sich so manche existierende und ethablierte software aber noch ne Scheibe abschneiden. Auch direkt mit den farbmodi und light/dark mode. Da hast du dir echt ein paar Gedanken gemacht. In so einem frühen Stadium kennt man ja sonst eher nur halbärschig zusammengefrickelten mist :eek:

...bei umstellen auf orange und dann dark mode gab's gerade den ersten crash xD
Beim 2. Versuch ging es. Ich bin wahrscheinlich mal wieder zu schnell. Wildes hin und her Geklicke scheint das Programm noch etwas zu überfordern^^
edit: ah doch nicht. beim schreiben wieder gestorben :d
edit2: erst dark mode, DANN farbe ändern scheint minimal besser zu gehen.
 
Zuletzt bearbeitet:
Hi Sepl,

vielen Dank für die super Rückmeldung und das Lob ;)

Spezielle Punkte gibt es aktuell noch nicht zu beachten. Die von Dir angemerkten Punkte werde ich mir direkt mal anschauen! Das mit dem Umschalten der Farben bzw. Themes funktioniert leider noch nicht richtig! Hier muss dann auch die Farbe der Icons, Schriften, usw. angepasst werden. Da bin ich schon dran ;)

Bzgl. Deiner Frage mit der Verwaltung der offenen Punkte: Da bin ich mir auch noch nicht so sicher. Innerhalb des Git-Projekts gibt es die Möglichkeit sogenannte "Issues" zu verwalten evtl. könnte man das nehmen!?

---------------------------------------------------

Update, 02.08.2015:

Ich habe mal eine neue Version (Beta 0.0.0.2) bereitgestellt. In dieser Version ist die Lüftersteuerung umgesetzt. Hier gibt es die folgenden Auswahlmöglichkeiten:

  • Default-Modus - ohne Eingriffe der Software
  • Manueller-Modus - manuelles Einstellen der Lüftergeschwindigkeit
  • Erweiterter-Modus - automatische Steuerung in Abhängigkeit eines Temperatursensors

Hier habe ich das Ganze mal etwas näher beschrieben (inkl. Screenshots): Lüftersteuerung

Darüber hinaus habe ich einige Dialoge angepasst und etwas übersichtlicher gestaltet.

Leider ist die Datei zu groß um sie hier anzuhängen. Hier könnt Ihr die aktuellste Beta runterladen:

YAHW - BETA 0.0.0.2

VG
Steve
 
Zuletzt bearbeitet:
Hallo,

ich habe heute nochmal eine neue Version (0.0.0.3 Beta) erstellt. Folgendes wurde angepasst

  • Speichern der Applikationseinstellungen (Theme, FontSize, ...)
  • Unter den HDD-Informationen werden jetzt die Partitionen angezeigt
  • Bugfix Lüftersteuerung (NULL-Reference Exception)
  • Anpassungen am Styling
  • Lokalisierung (deutsch und englisch)
  • div. kleinere Anpassungen

Hier gibt es die neue Version: YAHW - Yet Another Hardware Monitor (v0.0.0.3 BETA)

P.S. Über das Forum kam schon eine erste Rückmeldung bzgl. Mitentwicklung, d.h. aktuell entwickele ich also nicht mehr alleine ;-) Ich hoffe, dass wir in nächster Zeit noch einiges an neuen Funktionen umsetzen können. Ihr könnt hier auch gerne Feature-Wünsche äußern.

VG
Steve
 
hey, existiert das projekt noch?

Muss demnächst mal mein system neu aufsetzten und bin immer noch auf der suche, vor allem nach einer performanten alternative für speedfan - sprich Lüftersteuerung. Hatte gehofft hier mittlerweile eventuell fündig zu werden :d
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh