Custom-Plugin für GOverlay erstellen

GOverlay ist eine Monitoring-Lösung für Hardware und Software. Sie basiert auf der gleichnamigen Software und optional auf externen USB-Bildschirmen zur Darstellung der Daten. Im Standard kann GOverlay bereits mit vielen gängigen Sensoren umgehen und kann per Plugin um weitere Tools erweitert werden.

GOverlay 3,5" Bildschirm

Das Problem

Als Nutzer einer Custom-Wasserkühlung sind in meinem PC nicht nur die Temperaturen von Prozessor und Grafikkarte ausschlaggebend, auch die Wassertemperatur und die Leistungsdaten der Pumpe interessieren mich. Diese Daten werden von der Software Aquasuite bereitgestellt, die auch die Konfiguration der Pumpen- und Lüftersteuerung übernimmt.

Aquasuite Software

Hier gibt es glücklicherweise bereits ein GOverlay-Plugin, um die von Aquasuite exportierten Sensordaten in GOverlay zu importieren. Wie so oft im IT-Bereich, scheitert es jedoch an dem einfachen Problem der Formatierung. Aquasuite generiert die Daten mit einem Punkt als Dezimaltrennzeichen, GOverlay passt sich dem Schema des Computers an und verwendet das im deutschsprachigen Raum übliche Komma als Dezimaltrennzeichen. Dadurch lassen sich in GOverlay leider kaum Formatierungsoptionen nutzen und die Darstellung leidet (gerade bei Verwendung von grafischen Elementen) enorm.


Die Lösung

Zum Glück ist der GOverlay-Plugin-Aufbau sehr simpel gestaltet und wir können das vorhandene Aquasuite-Plugin als Vorlage verwenden, um ein Plugin für unsere Verhältnisse individuell anzupassen oder neu zu erstellen. Das funktioniert natürlich nicht nur für Aquasuite, sondern für jede beliebige Software, die diese Art von Daten bereitstellen kann.

Ich verwende in meinem GOverlay-Profil folgende Werte:

  • CPU-Frequenz
  • GPU-Frequenz
  • CPU-Temperatur
  • GPU-Temperatur
  • Wasser-Temperatur
  • Pumpendrehzahl
  • Lüfterdrehzahl (in Prozent)
  • CPU-Leistungsaufnahme
  • GPU-Leistungsaufnahme

Der Aquasuite-Export gruppiert diese Werte automatisch ein, sodass wir Werte vom Typ FREQ_MHZ, TEMPERATURE_C, WATT und DATA_SPEED_MB_S erhalten. Je nach den in Aquasuite gewählten Sensoren können sich diese Typen natürlich unterscheiden. Anhand dieser Typen definieren wir im Beispiel, wie die Darstellung erfolgen soll. Ich habe mich für eine ganzzahlige Darstellung bei allen Werten außer den Temperaturen (TEMPERATURE_C) und Transfergeschwindigkeiten (DATA_SPEED_MB_S) entschieden.

Die Plugin-Vorlage ist ein Visual Studio Projekt, wir benötigen also Visual Studio zum bearbeiten und kompilieren. Die Community Version ist kostenlos und völlig ausreichend für diese Zwecke. Mit Visual Studio können wir die .sln-Datei direkt öffnen, um das Projekt zu bearbeiten.

In der Class1.vb Klasse finden wir die zwei Funktionen (AvailableSensors und GrabData), die wir für unsere Anpassungen modifizieren müssen.

In der AvailableSensors-Funktion werden beim Starten von GOverlay (und beim Aktualisieren der Sensoren) die verfügbaren Sensoren aus der XML-Datei ausgelesen. Hier müssen wir also lediglich die Sensoren benennen, um später auf die Werte zugreifen zu können.

In der GrabData-Funktion findet der eigentliche Auslesevorgang statt. Um eine einfachere Verarbeitung zu ermöglichen, speichern wir uns hier die Sensornamen, -Typen und -Werte in eigenen Variablen. Da der Rückgabewert eine Zeichenfolge („String“) ist, legen wir hierfür eine extra Variable an, die wir dann abhängig vom Sensortyp mit dem korrekten Sensornamen und dem richtig formatierten Wert befüllen und in die Hashtable (td) schreiben.

Wenn wir das Projekt erstellen, wird im bin-Verzeichnis eine .dll-Datei erstellt, die wir im Plugin-Verzeichnis von GOverlay hinterlegen. Nach einem Neustart von GOverlay wird das Plugin erkannt und wir müssen in den Einstellungen nur noch den Pfad der Aquasuite XML-Datei hinterlegen, um die Sensorwerte nutzen zu können.

Das Resultat sieht dann folgendermaßen aus:

Somit lassen sich die Daten sauber darstellen und auch eine Verwendung der nicht-Text-Darstellung in GOverlay wie beispielsweise Tachodarstellung oder Prozentwerte sind möglich.


Download

Download “GOverlay Aquasuite Plugin” Aytee_GOVerlay_Connector.zip – 57-mal heruntergeladen – 156 kB