Sende Open Hardware Monitor Daten an IoBroker
1.0K
https://github.com/MTrinkiesJr/MTJR.HardwareMonitor/tree/20220727.2
Dieser Service bietet die Funktion Daten aus Open Hardware Monitor auszulesen und in einer Übersicht anzuzeigen.
Die Daten werden periodisch aus der Ferne über den "Remote Web Server" von Open Hardware Monitor abgefragt. Über eine Razor Webseite werden die Daten für die konfigurierten Server angezeigt. Der Service stellt ebenfalls eine SignalR Schnittstelle bereit, welche die Seite verwendet um die Werte periodisch zu aktualisieren. Die Schnittstelle informiert auch über Änderungen an den Servereigenschaften.
Optional können die Daten an IoBroker gesendet werden. Dafür ist der Adapter simple-api notwendig.
Unter dem dem Endpunkt http://{Ip}:{Port}/swagger (http://localhost:5000/swagger) ist die API Dokumentation des Service, kann somit auch optional anderweitig verwendet werden.
Um diesen Service zu verwenden werden folgende Komponenten benötigt
Optional für IoBroker:
Der Service kann ebenfalls in Docker verwendet werden, mehr dazu hier
Der Service wurde Hauptsächlich für die Verwendung in Docker entwickelt. Dennoch kann der Service nativ unter Windows, Linux, MacOS und IIS Service betrieben werden.
Dafür kann die neuste Version unter "Releases" runtergeladen werden. Sind die Voraussetzungen erfüllt und die Konfiguration korrekt, kann der Service mit der Betriebssystemabhängigen ausführbaren Datei gestartet werden. (Windows: MTJR.HardwareMonitor.exe, Linux: MTJR.HardwareMonitor, macOS: MTJR.HardwareMonitor.app). Für IIS bitte folgende Anleitung für das Bereitstellen verfolgen.
Die Konfiguration des Service selber erfolgt über die "appsettings.json" bzw. "appsettings.production.json".
Hier wird die Verbindung zu PostgreSQL eingetragen. Die "appsettings.json" enthält zunächst die Konfiguration für das Logging. Die "appsettings.production.json" wird verwendet wenn auch die Umgebungsvariable "ASPNETCORE_ENVIRONMENT=Production" gesetzt ist. Die Konfiguration sollte folgendes enthalten:
{
"HardwareMonitorConfiguration": {
"DatabaseConnectionString": "Server={ServerIP oder Hostname};Port={Postgres Port (5432)};Database={Datenbankname};User Id={Benutzername};Password={Passwort}"
}
Wichtig Der Datenbank muss auf der Datenbank das Recht haben Tabellen anzulegen.
Der Port kann über die Umgebungsvariable ASPNETCORE_URLS=http://*:5000 konfiguriert werden, wobei Port 5000 Standard ist.
PostgreSQL kann statt in der Konfigurationsdatei auch über die Umgebungsvariable HardwareMonitorConfiguration__DatabaseConnectionString=Server={ServerIP oder Hostname};Port={Postgres Port (5432)};Database={Datenbankname};User Id={Benutzername};Password={Passwort} konfiguriert werden.
Der Service ist damit startbereit.
Über die Seite des Service unter http://{Ip}:{Port} (http://localhost:5000) ist zunächst eine leere Liste zu sehen. Klickt man nun auf das + wird die Eingabemaske für einen Server angezeigt.
Um den Server zu bearbeiten kann in der Liste auf den Namen geklickt werden.
Klickt man oben links auf das Zahnrad kommt man zu Oberflächen- und IoBroker-Einstellungen. Hier wird ebenfalls eine Liste der Verbundenen Clients angezeigt. Die Einstellungen sollten alle selbsterklärend sein.
Ist in den Einstellungen "Daten an IoBroker senden" aktiv, werden die Daten aus Open Hardware Monitor an IoBroker gesendet, wobei dies über den Adapter rest-api geschieht.
Alle Zustände befinden sich unter 0_userdata.0.HardwareMonitor
Das Repo enhält eine Dockerfile, das Docker Image kann hier runtergeladen werden. Zum starten folgendes Kommando ausführen:
docker run -d --name HardwareMonitor -p 5000:5000 -e HardwareMonitorConfiguration__DatabaseConnectionString=Server={ServerIP oder Hostname};Port={Postgres Port (5432)};Database={Datenbankname};User Id={Benutzername};Password={Passwort} mtjr/hardwaremonitor
Zusätlich beinhaltet das Repo eine Docker Compose Datei welche, mit dem Befehl
docker compose up -d
den Service sowie PostgreSQL startet
In Arbeit
Content type
Image
Digest
sha256:1dc8f6e02…
Size
90.1 MB
Last updated
about 4 years ago
docker pull mtjr/hardwaremonitor