Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Auslastung NUC (o.a.) auslesen - visualisieren

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

Auslastung NUC (o.a.) auslesen - visualisieren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
55 Beiträge 10 Kommentatoren 10.0k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Z Offline
    Z Offline
    Zefixnoamoi
    schrieb am zuletzt editiert von
    #46

    Hallo erstmal :D

    Ich hab IOBroker erst seit 25.3. am laufen und bin letzte Woche hier über den Fred gestolpert da ich auf meinem NUC unter Windows auch die Boarddaten in IoBroker haben wollte.

    Ich hab dann festgestellt, dass der OpenHardwareMonitor den ich schon 2 Jahre nutze, die Werte per Webvisu zur Verfügung stellen kann und die Daten ins WMI schreibt.

    Wäre evtl. was für Zugriff über VM?

    Habs geschafft die WMI Daten in IObroker einzulesen und läuft mittlerweile seit 5 Tagen Stabil.

    Als erstes braucht ihr den OpenHardwaremonitor: http://openhardwaremonitor.org/

    Der braucht nur runterladen, entpacken und starten. Keine Installtionsroutine. Dann allerdings einstellen, dass er mit Windows starten soll usw.

    Dann den WMI Explorer: https://www.heise.de/download/product/w … orer-69189

    In diesem Programm dann unter -> Action ->Connect to Host bei Namespace: Root\OpenHardwareMonitor eingeben und OK drücken.

    In der Rubrik Sensor sind dann unsere Sensoren die OHM auslesen konnte aufgelistet.

    Dann in IObroker in der Konsole "npm install node-wmi" eingeben für den Zugriff auf WMI.

    Diesen noch unter Instanzen -> Javascript.0 -> Konfiguration -> Zusätzliche NPM Module mit "node-wmi" eintragen. (alles ohne Ausführungszeichen ;-))

    Dann hab ich mir als Vorlage von ThiSoft hier ein paar Beiträge vorher, sein Skript als Vorlage geklaut und damit probiert. Sorry ;)

    Ich beschäftige mich erst seit lezter Woche mit Java. S7 SPS ist eher meine Heimat 8-)

    Im Skript zum einrichten der richtigen Sensoren, unten die Zeile " Komplette Query Ausgabe aktivieren.

    Spript starten und das Ergebnis am besten in eine TXT Datei kopieren.

    Der Inhalt der Geschweiften klammern ist quasi das Ergbnis eines Sensors.

    Dann Sensoren durchzählen, bei 0 beginnend und den passenden in die eckigen Index klammern eintragen.

    Skript mag Laienhaft sein, aber wollt nur Zeigen wie man an die Daten kommt. ;)

    Wär schön wenn jemand was tolles draus machen kann. Evtl einen WMI Adapter?

    ! createState('HostHardwareMonitor.Processor.Temp',0); createState('HostHardwareMonitor.Processor.Load', 0); createState('HostHardwareMonitor.Processor.Power', 0); createState('HostHardwareMonitor.Speicher.Load', 0); createState('HostHardwareMonitor.Disk.Temp', 0); createState('HostHardwareMonitor.Disk.UsedSpace', 0); ! schedule = schedule('*/3 * * * * *', function () { ! var wmi = require('node-wmi'); ! wmi.Query({class:"Sensor", namespace: "root/OpenHardwareMonitor"}, function(err, result) { if (err){ log("Fehler: " + err); } else{ setState("javascript.0.HostHardwareMonitor.Processor.Temp" ,parseFloat(JSON.stringify(result[1].Value))); setState("javascript.0.HostHardwareMonitor.Processor.Load" ,parseFloat(JSON.stringify(result[8].Value))); setState("javascript.0.HostHardwareMonitor.Processor.Power" ,parseFloat(JSON.stringify(result[6].Value))); setState("javascript.0.HostHardwareMonitor.Speicher.Load" ,parseFloat(JSON.stringify(result[0].Value))); setState("javascript.0.HostHardwareMonitor.Disk.Temp" ,parseFloat(JSON.stringify(result[11].Value))); setState("javascript.0.HostHardwareMonitor.Disk.UsedSpace" ,parseFloat(JSON.stringify(result[2].Value))); //log("Query: " + (JSON.stringify(result[1].Value))); //Eine Query Ausgabe ins Log //log("Query: " + JSON.stringify(result)); //Komplette Query Ausgabe ins Log }}); }); !

    IObroker unter Windows 10 auf Intel Nuc7i5BNH, ohne CCU mit HM-CFG-LAN. 2 HM-RC-DN , 1 WT, noch im Aufbau.

    1 Antwort Letzte Antwort
    0
    • SegwayS Offline
      SegwayS Offline
      Segway
      schrieb am zuletzt editiert von
      #47

      @Homoran:

      Da kannst du nicht auf die Hardwaredaten zugreifen, da sich deine ioBroker Installation in einer virtuellen Maschine befindet.

      Und diese Maschine besitzt keine Hardware ;-) `

      Ich habe auch das Anliegen, von meinem Host (also dem NUC), die CPU Temperatur speichern zu wollen.

      Iobroker läuft unter einer VM, also komme ich mit dem rpi-Adapter nicht weiter.

      Habe es auch mit dem Systeminfo-Adapter versucht, aber der scheint auch nur auf die VM zu schauen und da bekomme ich keine Werte.

      Per ssh auf meinem NUC komme ich mit "cat /sys/devices/virtual/thermal/thermal_zone0/temp" an die Temperatur.

      Wie hole ich mir denn nun die Temperatur ab ?

      Per simple.api an den Linux Rechner senden ?

      Script ?

      Gruß Dirk
      Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        stefan
        schrieb am zuletzt editiert von
        #48

        Ich hab das für mich so gelöst das ich mir die Werte per SSH und angehängten Befehl hole und damit eine iobroker variable fülle …das ganze mit blockly

        Also exec Block mit Befehl SSH xxx@pi Cat /...| Grep | Cut und ausführen per cron Trigger

        Gruss

        Stefan

        Gesendet von meinem Mi A2 Lite mit Tapatalk

        1 Antwort Letzte Antwort
        0
        • SegwayS Offline
          SegwayS Offline
          Segway
          schrieb am zuletzt editiert von
          #49

          @stefan:

          Wie hast du denn den ssh Befehl hinbekommen ? Da muss ich doch noch das PW reinbasteln. Das geht ja so ohne weiteres nicht.

          Geht das nicht über –> Generating public/private rsa key pair ??? Wenn ja, da bin ich raus, das übersteigt meine Linux-verständnisse

          Gruß Dirk
          Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            stefan
            schrieb am zuletzt editiert von
            #50

            Ja genau mit dem Rsa key

            …meine Kenntnisse hat das am Anfang auch überschritten, aber in solchen Fällen hat mir das ubuntuusers Wiki immer sehr geholfen auch da Mal nach SSH da gibt's ne sehr gute Anleitung

            Wenn ich nachher zu Hause bin suche ich das Mal raus und schick den link da gibt's auch Artikel zu grep und Cut usw wenn's nötig ist und vieles mehr für Anfänger wie mich

            Gesendet von meinem Mi A2 Lite mit Tapatalk

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              stefan
              schrieb am zuletzt editiert von
              #51

              Und der link

              https://wiki.ubuntuusers.de/SSH/

              Irgendwo in der Mitte unter

              Authentifizierung über Public-Keys

              Ein blockly kann ich so ohne weiteres nicht liefern da ich mein Netzwerk Monitoring auf Munin umgestellt hab und die Scripte natürlich schon gelöscht sind 8-) aber bei Interesse könnte ich eins schnell nachbauen und Posten

              Gruß

              Stefan

              1 Antwort Letzte Antwort
              0
              • SegwayS Offline
                SegwayS Offline
                Segway
                schrieb am zuletzt editiert von
                #52

                Prinzipiell habe ich es nach gefühlten 19x lesen verstanden was da zu tun ist. Aber wer Rechner muss denn mit welchen "sprechen" ?

                Ich will ja von der iobroker VM (mit bestimmter IP - sagen wir PC1) auf die Original Version des Hosts (andere IP - sagen wir PC2) zugreifen mit diesem Befehl um die Temp. auszulesen.

                Auf welchen PC muss ich nun diese Befehle ausführen und wohin schicke ich dann den Key in welcher Form (ssh-copy-id -i ~/.ssh/id_ed25519.pub <u>user@server</u>) übertragen ?

                Gruß Dirk
                Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  stefan
                  schrieb am zuletzt editiert von
                  #53

                  Eigentlich ganz einfach, wenn mans mal gemacht hat.

                  Zuerst den key auf PC1 erzeugen

                  ssh-keygen -t rsa -b 4096
                  

                  Dann den Key von PC1 nach PC2 übertragen

                  ssh-copy-id -i ~/.ssh/id_rsa.pub user@PC2
                  

                  Bei den Benutzern auf PC1 und PC2 bin ich mir nicht sicher, aber ich glaub die sollten auf beiden gleich sein. Bei mir ist das zumindest so.

                  Wenn das geschafft ist hole ich mir die Werte mit ssh Befehl von PC1 ausgeführt

                  ssh user@PC2 cat Dateipfad | grep | cut
                  

                  mit cat erstmal die komplette Datei einlesen und mit der pipe | den Inhalt an grep übergeben wo ich dann schonmal die richtige Zeile ausfiltern das dann wieder per pipe an cut übergeben und mit cut die gewollte Zeichenkette ausschneiden

                  Ich weiss nicht ob das so verständlich ist… darum hier noch ein Beispiel:

                  Ich kenne den NUC und den Dateiinhalt nicht aber nehmen wir mal an da steht :

                  Die Temperatur von deinem NUC ist
                  180 °C Hilfe mir ist zu warm!!!
                  

                  mit

                  ssh user@PC2 cat /sys/devices/virtual/thermal/thermal_zone0/temp 
                  

                  wäre die Ausgabe

                  Die Temperatur von deinem NUC ist
                  180 °C Hilfe mir ist zu warm!!!
                  

                  dann mit grep weiterverarbeiten (die richtige Zeile filtern

                  ssh user@PC2 cat /sys/devices/virtual/thermal/thermal_zone0/temp | grep Hilfe
                  

                  Ausgabe:

                  180 °C Hilfe mir ist zu warm!!!
                  ````Das Argument für grep muss ein Wort sein was nur in der Zeile vorkommt, grep -v funktioniert genau umgekehrt dann würde nur die erste Zeile angezeigt
                  
                  dann weiter mit cut die richtigen Zeichen ausschneiden
                  

                  ssh user@PC2 cat /sys/devices/virtual/thermal/thermal_zone0/temp | grep Hilfe | cut -c 1-3

                  Ausgabe:
                  

                  180

                  So hab ich das bei mir gemacht allerdings vor allem mit loadavg meminfo hdd Belegung hdd Temp aus smartctl usw aber Prinzip ist das selbe.
                  
                  Manchmal kommt noch awk { print $1 } (für die richtige Spalte) und tr (für Zeichenlöschen) ins Spiel.
                  
                  Mit Sicherheit kann das ein Profi viel eleganter aber zu mehr reichts bei mir dann auch nicht 8-)
                  
                  Ich hoffe das hilft dir weiter
                  
                  Gruss
                  
                  Stefan
                  1 Antwort Letzte Antwort
                  0
                  • SegwayS Offline
                    SegwayS Offline
                    Segway
                    schrieb am zuletzt editiert von
                    #54

                    Super Anleitung dafür !!! Perfekt.

                    Ohne grep und cut Abfrage sonst ist es leer) bekomme ich nun als Ergebnis –> 51000 (dürfte wohl 51°C sein).

                    Nur mein Blockly will nicht ala javascript:

                    1043_2019-01-10_122825.jpg

                    Fehler:

                    12:22:41.840	info	javascript.1 script.js.UserDefined.Systeminfos.NUC_CPU_Temp: undefined
                    

                    Gruß Dirk
                    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      stefan
                      schrieb am zuletzt editiert von
                      #55

                      Sehr schön das freut mich [emoji4]

                      Zum blockly:

                      Jetzt Mal so aus dem Kopf weil unterwegs

                      Ich hab den Wert den der Befehl liefert erstmal in in einer Programm variablen gespeichert evtl, da bin ich mir nicht sicher, in Zahl umgewandelt mit einem convert Block und dann den Block schreibe Objekt mit wert genutzt … Irgendwo dazwischen umgerechnet mit den Mathe Blöcken Wenn nötig

                      Das ganze aber ohne Gewähr wie gesagt

                      Gruss

                      Stefan

                      Gesendet von meinem Mi A2 Lite mit Tapatalk

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      785

                      Online

                      32.5k

                      Benutzer

                      81.6k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe