In diesen Beitrag werde wir mit dem System Info Bindig unser System auf dem openHAB läuft überwachen bzw. verschiedene Daten auslesen.
Bei diesem Binding ist es außerdem nicht relevant auf welchen System bei euch openHAB läuft. Das Binding erkennt die Daten von eurem Raspberry Pi, Windows PC, eurer DiskStation etc. automatisch.
Weiter openHAB Anleitungen: OpenHAB Anleitungen
Inhaltsverzeichnis
Vorrausetzungen
In dieser Anleitung gehe ich davon auch, dass ich openHAB bereits installiert habt, und euch Grundlegende Dinge bereits eingerichtet habt.
Falls ihr ganz neu mit openHAB startet könnt ihr euch meinen Beiträge und Videos zu openHAB ansehen.
OpenHAB System Info Binding
Um die Systemdaten von unserem Raspberry Pi, DiskStation, Rechner, etc. auslesen zu können, benötigen wir das System Info Binding.
Um jetzt das Binding zu installieren, wechseln wir zu unserem OpenHAB Fenster im Browser, und gehen dort auf Paper UI.
Hier gehen wir dann auf Bindings und suchen nach System Info. Bei Systeminfo Binding klicken wir dann rechts auf INSTALL und warten bis das Binding installiert ist.
Sobald der Installations-Vorgang abgeschlossen ist, sollten wir auch schon in der Inbox eine Nachricht bekommen.
Hier finden wir dann auch den Eintrag Local Computer.
Fall ihr diesen Punkt nicht angezeigt bekommt, könnt ihr hier auf den Plus Button klicken, und anschließend auf Systeminfo Binding. Danach solltet ihr den Punkt Local Computer angezeigt bekommen.
Diesen bestätigen wir dann mit den blauen Haken, und können anschließend noch einen Namen vergeben. Da ich openHAB auf einem Raspberry Pi laufen habe, vergebe ich hier den Namen Raspberry Pi Sever.
Wir bestätigen den Namen indem wir auf ADD AS THING klicken.
Items anlegen
Als nächstes müssen wir für die einzelne Daten Items anlegen. Daher wechseln wir jetzt zu Visual Studio Code und erstellen bei Items einen Neue Datei mit dem Namen systeminfo.items und öffnen diese.
Danach gehen wir zu unserem openHAB Addon und dort finden wir jetzt unter THINGS unseren Raspberry Pi Server.
Mit einem rechtsklick können wir dann „Create Items from Channels auswählen.
Anschließend werden in unserer systeminfo.items Datei alle verfügbaren Items angelegt.
Wenn wir mit der Maus über den Namen eines Items gehen, wird’s uns auch schon bereits der Wert angezeigt.
Außerdem sehen wir hier auch, dass nicht jedes Items einen Wert hat. Zum Beispiel ist die Lüftergeschwindigkeit undefiniert. Macht auch Sinn, da ich bei meinem Raspberry Pi auch keine Lüfter habe.
Itmes sortieren
Je nach dem auf welchen System bei euch openHAB läuft, können hier bestimmte Items leer sein. Um diese jetzt besser aussortieren zu könne, werden wir uns diese einmal etwas sortieren und anschließend in der sitemap anzeigen lassen.
Als erstes werden wir zur besseren Übersicht die items in Blöcke gruppieren.
Wie ihr seht sind unsere Itmes auch schon grob sortiert. Wir müssen daher nur dazwischen eine leere Zeile einfügen und ein Kommentar ergänzen. Vielleicht sind dann noch ein paar Item die wir zwischen den Blöcken hin und her verschieben müssen.
//RAM
Number RaspberryPiServerMemoryTotal "Total" {channel="systeminfo:computer:openhab:memory#total"}
Number RaspberryPiServerMemoryAvailable "Available" {channel="systeminfo:computer:openhab:memory#available"}
Number RaspberryPiServerMemoryUsed "Used" {channel="systeminfo:computer:openhab:memory#used"}
Number RaspberryPiServerMemoryAvailablePercent "Available (%)" {channel="systeminfo:computer:openhab:memory#availablePercent"}
Number RaspberryPiServerMemoryUsedPercent "Used (%)" {channel="systeminfo:computer:openhab:memory#usedPercent"}
//Speicher
Number RaspberryPiServerStorageTotal "Total" {channel="systeminfo:computer:openhab:storage#total"}
Number RaspberryPiServerStorageAvailable "Available" {channel="systeminfo:computer:openhab:storage#available"}
Number RaspberryPiServerStorageUsed "Used" {channel="systeminfo:computer:openhab:storage#used"}
Number RaspberryPiServerStorageAvailablePercent "Available (%)" {channel="systeminfo:computer:openhab:storage#availablePercent"}
Number RaspberryPiServerStorageUsedPercent "Used (%)" {channel="systeminfo:computer:openhab:storage#usedPercent"}
String RaspberryPiServerStorageName "Name" {channel="systeminfo:computer:openhab:storage#name"}
String RaspberryPiServerStorageDescription "Description" {channel="systeminfo:computer:openhab:storage#description"}
String RaspberryPiServerStorageType "Type" {channel="systeminfo:computer:openhab:storage#type"}
//Laufwerk
String RaspberryPiServerDriveName "Name" {channel="systeminfo:computer:openhab:drive#name"}
String RaspberryPiServerDriveModel "Model" {channel="systeminfo:computer:openhab:drive#model"}
String RaspberryPiServerDriveSerial "Serial number" {channel="systeminfo:computer:openhab:drive#serial"}
//CPU
Number RaspberryPiServerSensorsCpuTemp "Cpu temperature" {channel="systeminfo:computer:openhab:sensors#cpuTemp"}
Number RaspberryPiServerSensorsCpuVoltage "Cpu voltage" {channel="systeminfo:computer:openhab:sensors#cpuVoltage"}
Number RaspberryPiServerSensorsFanSpeed "Fan speed" {channel="systeminfo:computer:openhab:sensors#fanSpeed"}
String RaspberryPiServerCpuName "Name" {channel="systeminfo:computer:openhab:cpu#name"}
String RaspberryPiServerCpuDescription "Description" {channel="systeminfo:computer:openhab:cpu#description"}
Number RaspberryPiServerCpuLoad1 "Load average" {channel="systeminfo:computer:openhab:cpu#load1"}
Number RaspberryPiServerCpuLoad5 "Load average" {channel="systeminfo:computer:openhab:cpu#load5"}
Number RaspberryPiServerCpuLoad15 "Load average" {channel="systeminfo:computer:openhab:cpu#load15"}
Number RaspberryPiServerCpuUptime "System uptime" {channel="systeminfo:computer:openhab:cpu#uptime"}
Number RaspberryPiServerCpuThreads "Number of threads" {channel="systeminfo:computer:openhab:cpu#threads"}
//Swap-Speicher
Number RaspberryPiServerSwapTotal "Total" {channel="systeminfo:computer:openhab:swap#total"}
Number RaspberryPiServerSwapAvailable "Available" {channel="systeminfo:computer:openhab:swap#available"}
Number RaspberryPiServerSwapUsed "Used" {channel="systeminfo:computer:openhab:swap#used"}
Number RaspberryPiServerSwapAvailablePercent "Available (%)" {channel="systeminfo:computer:openhab:swap#availablePercent"}
Number RaspberryPiServerSwapUsedPercent "Used (%)" {channel="systeminfo:computer:openhab:swap#usedPercent"}
//Netzwerk
String RaspberryPiServerNetworkIp "Ip address" {channel="systeminfo:computer:openhab:network#ip"}
String RaspberryPiServerNetworkNetworkName "Network name" {channel="systeminfo:computer:openhab:network#networkName"}
String RaspberryPiServerNetworkNetworkDisplayName "Network display name" {channel="systeminfo:computer:openhab:network#networkDisplayName"}
Number RaspberryPiServerNetworkDataSent "Data sent" {channel="systeminfo:computer:openhab:network#dataSent"}
Number RaspberryPiServerNetworkDataReceived "Data received" {channel="systeminfo:computer:openhab:network#dataReceived"}
Number RaspberryPiServerNetworkPacketsSent "Packets sent" {channel="systeminfo:computer:openhab:network#packetsSent"}
Number RaspberryPiServerNetworkPacketsReceived "Packets received" {channel="systeminfo:computer:openhab:network#packetsReceived"}
String RaspberryPiServerNetworkMac "Mac address" {channel="systeminfo:computer:openhab:network#mac"}
//Sonstiges
String RaspberryPiServerDisplayInformation "Display information" {channel="systeminfo:computer:openhab:display#information"}
String RaspberryPiServerBatteryName "Name" {channel="systeminfo:computer:openhab:battery#name"}
Number RaspberryPiServerBatteryRemainingCapacity "Remaining capacity" {channel="systeminfo:computer:openhab:battery#remainingCapacity"}
Number RaspberryPiServerBatteryRemainingTime "Remaining time" {channel="systeminfo:computer:openhab:battery#remainingTime"}
Number RaspberryPiServerProcessLoad "Load" {channel="systeminfo:computer:openhab:process#load"}
Number RaspberryPiServerProcessUsed "Used" {channel="systeminfo:computer:openhab:process#used"}
String RaspberryPiServerProcessName "Name" {channel="systeminfo:computer:openhab:process#name"}
Number RaspberryPiServerProcessThreads "Number of threads" {channel="systeminfo:computer:openhab:process#threads"}
String RaspberryPiServerProcessPath "Path" {channel="systeminfo:computer:openhab:process#path"}
Falls ihr openHAB ebenfalls auf einen Raspberry Pi installiert habt, könnt ihr euch meine Items Datei auch kopieren. Achtet jedoch darauf, dass ihr den Namen Raspberry Pi Server gegebenenfalls durch euren vergebenen Namen austauschen müsst.
Nachdem wir alle Items sortiert haben, werden wir noch den Anzeigetext in deutsche Bezeichnungen ändern. Außerdem sind hier die erstellt Text wie „Gesamt“ oder „Verfügbar“ nicht sehr aussagekräftig. Wenn man später in der Sitemap Frames bzw. Überschriften mit CPU, Arbeitsspeicher etc. erstellt, dann sind die Bezeichnungen „Gesamt“ oder „Verfügbar“ etc. natürlich ausreichend.
Ich werde jedoch meinen Text auf zum Beispiel RAM Gesamt, RAM Verfügbar etc. ändern. Warum ich diese Variante wähle werdet ihr später noch sehen.
//RAM
Number RaspberryPiServerMemoryTotal "RAM Gesamt" {channel="systeminfo:computer:openhab:memory#total"}
Number RaspberryPiServerMemoryAvailable "RAM Verfügbar" {channel="systeminfo:computer:openhab:memory#available"}
Number RaspberryPiServerMemoryUsed "RAM Verwendet" {channel="systeminfo:computer:openhab:memory#used"}
Number RaspberryPiServerMemoryAvailablePercent "RAM Verfügbar (%)" {channel="systeminfo:computer:openhab:memory#availablePercent"}
Number RaspberryPiServerMemoryUsedPercent "RAM Verwendet (%)" {channel="systeminfo:computer:openhab:memory#usedPercent"}
//Speicher
Number RaspberryPiServerStorageTotal "Speicher Gesamt" {channel="systeminfo:computer:openhab:storage#total"}
Number RaspberryPiServerStorageAvailable "Speicher Verfügbar" {channel="systeminfo:computer:openhab:storage#available"}
Number RaspberryPiServerStorageUsed "Speicher Verwendet" {channel="systeminfo:computer:openhab:storage#used"}
Number RaspberryPiServerStorageAvailablePercent "Speicher Verfügbar (%)" {channel="systeminfo:computer:openhab:storage#availablePercent"}
Number RaspberryPiServerStorageUsedPercent "Speicher Verwendet (%)" {channel="systeminfo:computer:openhab:storage#usedPercent"}
String RaspberryPiServerStorageName "Speicher Name" {channel="systeminfo:computer:openhab:storage#name"}
String RaspberryPiServerStorageDescription "Speicher Beschreibung" {channel="systeminfo:computer:openhab:storage#description"}
String RaspberryPiServerStorageType "Speicher Typ" {channel="systeminfo:computer:openhab:storage#type"}
//CPU
Number RaspberryPiServerSensorsCpuTemp "CPU Temperatur" {channel="systeminfo:computer:openhab:sensors#cpuTemp"}
Number RaspberryPiServerSensorsCpuVoltage "Cpu Spannung" {channel="systeminfo:computer:openhab:sensors#cpuVoltage"}
Number RaspberryPiServerSensorsFanSpeed "Lüfter-Geschwindigkeit" {channel="systeminfo:computer:openhab:sensors#fanSpeed"}
String RaspberryPiServerCpuName "CPU Name" {channel="systeminfo:computer:openhab:cpu#name"}
String RaspberryPiServerCpuDescription "CPU Beschreibung" {channel="systeminfo:computer:openhab:cpu#description"}
Number RaspberryPiServerCpuLoad1 "CPU1 Auslastung" {channel="systeminfo:computer:openhab:cpu#load1"}
Number RaspberryPiServerCpuLoad5 "CPU5 Auslastung" {channel="systeminfo:computer:openhab:cpu#load5"}
Number RaspberryPiServerCpuLoad15 "CPU15 Auslastung" {channel="systeminfo:computer:openhab:cpu#load15"}
Number RaspberryPiServerCpuUptime "CPU Betriebszeit" {channel="systeminfo:computer:openhab:cpu#uptime"}
Number RaspberryPiServerCpuThreads "CPU Threats" {channel="systeminfo:computer:openhab:cpu#threads"}
//Swap-Speicher
Number RaspberryPiServerSwapTotal "Swap-Speicher Gesamt" {channel="systeminfo:computer:openhab:swap#total"}
Number RaspberryPiServerSwapAvailable "Swap-Speicher Verfügbar" {channel="systeminfo:computer:openhab:swap#available"}
Number RaspberryPiServerSwapUsed "Swap-Speicher Verwendet" {channel="systeminfo:computer:openhab:swap#used"}
Number RaspberryPiServerSwapAvailablePercent "Swap-Speicher Verfügbar (%)" {channel="systeminfo:computer:openhab:swap#availablePercent"}
Number RaspberryPiServerSwapUsedPercent "Swap-Speicher Verwendet (%)" {channel="systeminfo:computer:openhab:swap#usedPercent"}
//Netzwerk
String RaspberryPiServerNetworkIp "IP Adresse" {channel="systeminfo:computer:openhab:network#ip"}
String RaspberryPiServerNetworkNetworkName "Netzwerkname" {channel="systeminfo:computer:openhab:network#networkName"}
String RaspberryPiServerNetworkNetworkDisplayName "Netzwerkname" {channel="systeminfo:computer:openhab:network#networkDisplayName"}
Number RaspberryPiServerNetworkDataSent "Netzwerk Daten gesendet" {channel="systeminfo:computer:openhab:network#dataSent"}
Number RaspberryPiServerNetworkDataReceived "Netzwerk Daten empfangen" {channel="systeminfo:computer:openhab:network#dataReceived"}
Number RaspberryPiServerNetworkPacketsSent "Netzwerk Pakete gesendet" {channel="systeminfo:computer:openhab:network#packetsSent"}
Number RaspberryPiServerNetworkPacketsReceived "Netzwerk Pakete empfangen" {channel="systeminfo:computer:openhab:network#packetsReceived"}
String RaspberryPiServerNetworkMac "MAC Addresse" {channel="systeminfo:computer:openhab:network#mac"}
//Laufwerk
String RaspberryPiServerDriveName "Laufwerk Name" {channel="systeminfo:computer:openhab:drive#name"}
String RaspberryPiServerDriveModel "Laufwerk Model" {channel="systeminfo:computer:openhab:drive#model"}
String RaspberryPiServerDriveSerial "Laufwerk Serial number" {channel="systeminfo:computer:openhab:drive#serial"}
//Sonstiges
String RaspberryPiServerDisplayInformation "Display Information" {channel="systeminfo:computer:openhab:display#information"}
String RaspberryPiServerBatteryName "Batteriename" {channel="systeminfo:computer:openhab:battery#name"}
Number RaspberryPiServerBatteryRemainingCapacity "Batterie Restladung" {channel="systeminfo:computer:openhab:battery#remainingCapacity"}
Number RaspberryPiServerBatteryRemainingTime "Batterie Restzeit" {channel="systeminfo:computer:openhab:battery#remainingTime"}
Number RaspberryPiServerProcessLoad "Process Load" {channel="systeminfo:computer:openhab:process#load"}
Number RaspberryPiServerProcessUsed "Process Used" {channel="systeminfo:computer:openhab:process#used"}
String RaspberryPiServerProcessName "Process Name" {channel="systeminfo:computer:openhab:process#name"}
Number RaspberryPiServerProcessThreads "Process Number of threads" {channel="systeminfo:computer:openhab:process#threads"}
String RaspberryPiServerProcessPath "Process Path" {channel="systeminfo:computer:openhab:process#path"}
Item Gruppe erstellen
Zu guter Letzt erstellen wir noch eine Gruppe in der wir alle unsere Systemdaten unterordnen.
Ich nenne diese Gruppe daher Group Systeminfo.
Group Systeminfo
Jetzt müssen wir diesen Gruppenamen noch bei jedem Item ergänzen. Damit wir hier nicht bei jedem Item in Klammer (Systeminfo) ergänzen müssen verwende wir einfach das Suchen und ersetzten Werkzeugt. Wir suchen nach geschwungener klammer auf channel und ersetze diesen Text durch (Systeminfo) Leerzeichen und wieder geschwungener klammer auf channel. Anschließend klicken wir auf alle ersetzen. Jetzt wurde vor jeder geschwungen klammer der Eintrag ergänzt.
Group Systeminfo
//RAM
Number RaspberryPiServerMemoryTotal "RAM Gesamt" (Systeminfo) {channel="systeminfo:computer:openhab:memory#total"}
Number RaspberryPiServerMemoryAvailable "RAM Verfügbar" (Systeminfo) {channel="systeminfo:computer:openhab:memory#available"}
Number RaspberryPiServerMemoryUsed "RAM Verwendet" (Systeminfo) {channel="systeminfo:computer:openhab:memory#used"}
Number RaspberryPiServerMemoryAvailablePercent "RAM Verfügbar (%)" (Systeminfo) {channel="systeminfo:computer:openhab:memory#availablePercent"}
Number RaspberryPiServerMemoryUsedPercent "RAM Verwendet (%)" (Systeminfo) {channel="systeminfo:computer:openhab:memory#usedPercent"}
//Speicher
Number RaspberryPiServerStorageTotal "Speicher Gesamt" (Systeminfo) {channel="systeminfo:computer:openhab:storage#total"}
Number RaspberryPiServerStorageAvailable "Speicher Verfügbar" (Systeminfo) {channel="systeminfo:computer:openhab:storage#available"}
Number RaspberryPiServerStorageUsed "Speicher Verwendet" (Systeminfo) {channel="systeminfo:computer:openhab:storage#used"}
Number RaspberryPiServerStorageAvailablePercent "Speicher Verfügbar (%)" (Systeminfo) {channel="systeminfo:computer:openhab:storage#availablePercent"}
Number RaspberryPiServerStorageUsedPercent "Speicher Verwendet (%)" (Systeminfo) {channel="systeminfo:computer:openhab:storage#usedPercent"}
String RaspberryPiServerStorageName "Speicher Name" (Systeminfo) {channel="systeminfo:computer:openhab:storage#name"}
String RaspberryPiServerStorageDescription "Speicher Beschreibung" (Systeminfo) {channel="systeminfo:computer:openhab:storage#description"}
String RaspberryPiServerStorageType "Speicher Typ" (Systeminfo) {channel="systeminfo:computer:openhab:storage#type"}
//CPU
Number RaspberryPiServerSensorsCpuTemp "CPU Temperatur" (Systeminfo) {channel="systeminfo:computer:openhab:sensors#cpuTemp"}
//Number RaspberryPiServerSensorsCpuVoltage "Cpu Spannung" (Systeminfo) {channel="systeminfo:computer:openhab:sensors#cpuVoltage"}
//Number RaspberryPiServerSensorsFanSpeed "Lüfter-Geschwindigkeit" (Systeminfo) {channel="systeminfo:computer:openhab:sensors#fanSpeed"}
String RaspberryPiServerCpuName "CPU Name" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#name"}
//String RaspberryPiServerCpuDescription "CPU Beschreibung" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#description"}
Number RaspberryPiServerCpuLoad1 "CPU1 Auslastung" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#load1"}
Number RaspberryPiServerCpuLoad5 "CPU5 Auslastung" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#load5"}
Number RaspberryPiServerCpuLoad15 "CPU15 Auslastung" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#load15"}
Number RaspberryPiServerCpuUptime "CPU Betriebszeit" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#uptime"}
Number RaspberryPiServerCpuThreads "CPU Threats" (Systeminfo) {channel="systeminfo:computer:openhab:cpu#threads"}
//Swap-Speicher
Number RaspberryPiServerSwapTotal "Swap-Speicher Gesamt" (Systeminfo) {channel="systeminfo:computer:openhab:swap#total"}
Number RaspberryPiServerSwapAvailable "Swap-Speicher Verfügbar" (Systeminfo) {channel="systeminfo:computer:openhab:swap#available"}
Number RaspberryPiServerSwapUsed "Swap-Speicher Verwendet" (Systeminfo) {channel="systeminfo:computer:openhab:swap#used"}
Number RaspberryPiServerSwapAvailablePercent "Swap-Speicher Verfügbar (%)" (Systeminfo) {channel="systeminfo:computer:openhab:swap#availablePercent"}
Number RaspberryPiServerSwapUsedPercent "Swap-Speicher Verwendet (%)" (Systeminfo) {channel="systeminfo:computer:openhab:swap#usedPercent"}
//Netzwerk
String RaspberryPiServerNetworkIp "IP Adresse" (Systeminfo) {channel="systeminfo:computer:openhab:network#ip"}
String RaspberryPiServerNetworkNetworkName "Netzwerkname" (Systeminfo) {channel="systeminfo:computer:openhab:network#networkName"}
String RaspberryPiServerNetworkNetworkDisplayName "Netzwerkname" (Systeminfo) {channel="systeminfo:computer:openhab:network#networkDisplayName"}
Number RaspberryPiServerNetworkDataSent "Netzwerk Daten gesendet" (Systeminfo) {channel="systeminfo:computer:openhab:network#dataSent"}
Number RaspberryPiServerNetworkDataReceived "Netzwerk Daten empfangen" (Systeminfo) {channel="systeminfo:computer:openhab:network#dataReceived"}
Number RaspberryPiServerNetworkPacketsSent "Netzwerk Pakete gesendet" (Systeminfo) {channel="systeminfo:computer:openhab:network#packetsSent"}
Number RaspberryPiServerNetworkPacketsReceived "Netzwerk Pakete empfangen" (Systeminfo) {channel="systeminfo:computer:openhab:network#packetsReceived"}
String RaspberryPiServerNetworkMac "MAC Addresse" (Systeminfo) {channel="systeminfo:computer:openhab:network#mac"}
//Laufwerk
String RaspberryPiServerDriveName "Laufwerk Name" (Systeminfo) {channel="systeminfo:computer:openhab:drive#name"}
//String RaspberryPiServerDriveModel "Laufwerk Model" (Systeminfo) {channel="systeminfo:computer:openhab:drive#model"}
//String RaspberryPiServerDriveSerial "Laufwerk Serial number" (Systeminfo) {channel="systeminfo:computer:openhab:drive#serial"}
//Sonstiges
//String RaspberryPiServerDisplayInformation "Display Information" (Systeminfo) {channel="systeminfo:computer:openhab:display#information"}
//String RaspberryPiServerBatteryName "Batteriename" (Systeminfo) {channel="systeminfo:computer:openhab:battery#name"}
//Number RaspberryPiServerBatteryRemainingCapacity "Batterie Restladung" (Systeminfo) {channel="systeminfo:computer:openhab:battery#remainingCapacity"}
//Number RaspberryPiServerBatteryRemainingTime "Batterie Restzeit" (Systeminfo) {channel="systeminfo:computer:openhab:battery#remainingTime"}
//Number RaspberryPiServerProcessLoad "Process Load" (Systeminfo) {channel="systeminfo:computer:openhab:process#load"}
//Number RaspberryPiServerProcessUsed "Process Used" (Systeminfo) {channel="systeminfo:computer:openhab:process#used"}
//String RaspberryPiServerProcessName "Process Name" (Systeminfo) {channel="systeminfo:computer:openhab:process#name"}
//Number RaspberryPiServerProcessThreads "Process Number of threads" (Systeminfo) {channel="systeminfo:computer:openhab:process#threads"}
//String RaspberryPiServerProcessPath "Process Path" (Systeminfo) {channel="systeminfo:computer:openhab:process#path"}
In Sitemap einbinden
Sind wir mir den Items Fertig wechseln wir zu unserer Sitemap. Ich werde vorab diese Daten nur in meiner Admin Sitemap einbinden.
In dieser erstellen wir jetzt einen neuen Framen mit dem Namen bzw. label Systeminformationen
In diesem Frame kommt jetzt unsere Gruppe mit Group Systeminfo und als Label alle Werte anzeigen.
Frame label="Systeminformationen" {
Group item=Systeminfo label="Alle Werte anzeigen"
}
Nachdem wir alles gespeichert haben, können wir auch gleich einmal das BasicUI unserer erstellten Sitemap ansehen.
In dieser finden wir ganz unten den Eintrag Systeminformationen mit dem Punkt Alle Wert anzeigen.
Wenn wir diesen auswählen kommen wir zu der Liste mit den Systemdaten unseres Raspberry Pis.
Items ohne Werte löschen
Auch hier sehen wir dann nochmal dass einige Items keinen Wert vom System bekommen. Diese Items können wir jetzt auch gleich löschen. Natürlich könnt ihr auch andere Items löschen die für euch nicht relevant oder wichtig sind.
Ich werde bei mir die Items nur aus kommentieren. So könnt ihr meine Liste einfach kopieren und seht auch welche Werte ich entfernt habe.
Icons einfügen
Was natürlich noch sehr stört ist, dass wir noch keine Icons angezeigt bekommen. Das werden wir natürlich gleich als nächstes nachholen.
Dazu öffnen wir die Icons Seite von openHAB um uns hier die passenden Icons heraussuchen zu können.
Bei Werten bei denen ich kein passendes Symbol finde, verwende ich einfach das Zahnradsysmbol.
Den Namen des icons fügen wird dann in gespitzter Klammer zwischen dem Anzeigenamen und der Gruppenzuweisung ein.
//RAM
Number RaspberryPiServerMemoryTotal "RAM Gesamt" <settings> (Systeminfo) {channel="systeminfo:computer:openhab:memory#total"}
Number RaspberryPiServerMemoryAvailable "RAM Verfügbar" <settings> (Systeminfo) {channel="systeminfo:computer:openhab:memory#available"}
Number RaspberryPiServerMemoryUsed "RAM Verwendet" <settings> (Systeminfo) {channel="systeminfo:computer:openhab:memory#used"}
Number RaspberryPiServerMemoryAvailablePercent "RAM Verfügbar (%)" <settings> (Systeminfo) {channel="systeminfo:computer:openhab:memory#availablePercent"}
Number RaspberryPiServerMemoryUsedPercent "RAM Verwendet (%)" <settings> (Systeminfo) {channel="systeminfo:computer:openhab:memory#usedPercent"}
Wenn wir auch damit fertig sind, können wir unsere Liste nochmal im Basic UI testen. Wie ihr hier seht ist das ganze jetzt schon sehr sauber aus.
Sitemap optimieren
Jedoch habe ich im Frame Systeminformationen das Untermanü nicht ohne Grund alle Werte anzeigen genannt. Denn ich möchte hier noch ein paar ausgewählte Werte direkt im Frame angezeigt bekommen.
Das mach ich indem ich im Frame vor dem Group Eintrag noch Default item ist gleich und dem Namen des ausgewählten items ergänze. Als Beispiel werde ich hier einmal die CPU Temperatur und die Prozentuale Arbeitsspeicher Auslastung anteigen lassen.
Frame label="Systeminformationen" {
Default item=RaspberryPiServerSensorsCpuTemp
Default item=RaspberryPiServerMemoryUsedPercent
Group item=Systeminfo label="Alle Werte anzeigen"
}
Nach dem speichern sieht das Ganze dann so aus.
Sitemap mit Frames
Falls euch das mit dem Untermenü nicht gefällt könnt ihr euch einzelne Frames anlegen.
Ich habe euch auch diese Variante einmal zum Download vorbereitet.
Diesen Werten können wir dann natürlich auch aufzeichne und als Diagramm anzeigen lassen, oder uns auch benachrichtigen lassen falls irgendein Wert eine bestimmte Grenze überschreitet.
Wie das alles funktioniert seht ihr aber in einem meiner nächsten Videos oder hier auf diese Seite.
Downloads
Video zum Beitrag
Zum Youtube Kanal von DigitaleWelt