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. ioBroker Allgemein
  4. Cpu Werte aus Windows auslesen - halb gelöst

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    526

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Cpu Werte aus Windows auslesen - halb gelöst

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
14 Beiträge 3 Kommentatoren 2.1k Aufrufe
  • Ä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.
  • L Online
    L Online
    Linedancer
    schrieb am zuletzt editiert von
    #1

    Hallo Gemeinde,

    ich hätte gerne Speicherauslastung, Load, cpu-Temp u.ä. von einem Windows Recher in iobroker. Auf diesem Rechner läuft kein iobroker.

    Gefunden habe ich COre Temp http://www.alcpu.com/CoreTemp/

    Dafür gibt es ein plug in, das die Daten per http zugänglich macht.

    Die Antwort sieht so aus:

    ! {"CpuInfo":{"uiLoad":[16,11],"uiTjMax":[100],"uiCoreCnt":2,"uiCPUCnt":1,"fTemp":[43,43],"fVID":0.770019531,"fCPUSpeed":1597.264,"fFSBSpeed":99.829,"fMultipier":16,"CPUName":"Intel Core i5 6198DU (Skylake-U) ","ucFahrenheit":0,"ucDeltaToTjMax":0},"MemoryInfo":{"TotalPhys":8057,"FreePhys":3962,"TotalPage":9337,"FreePage":4541,"TotalVirtual":134217728,"FreeVirtual":134217127,"FreeExtendedVirtual":1,"MemoryLoad":50}} {"CpuInfo":{"uiLoad":[18,14],"uiTjMax":[100],"uiCoreCnt":2,"uiCPUCnt":1,"fTemp":[43,44],"fVID":0.734375,"fCPUSpeed":1297.777,"fFSBSpeed":99.829,"fMultipier":13,"CPUName":"Intel Core i5 6198DU (Skylake-U) ","ucFahrenheit":0,"ucDeltaToTjMax":0},"MemoryInfo":{"TotalPhys":8057,"FreePhys":3941,"TotalPage":9337,"FreePage":4527,"TotalVirtual":134217728,"FreeVirtual":134217126,"FreeExtendedVirtual":1,"MemoryLoad":51}}

    Jetzt habe ich einen node red flow erzeugt der die Daten als json empfängt.

    Dis Ergebnis sieht so aus:

    ! msg : Object
    ! object
    ! topic: ""
    ! payload: object
    ! CpuInfo: object
    ! uiLoad: array[2]
    ! 0: 9
    ! 1: 8
    ! uiTjMax: array[1]
    ! uiCoreCnt: 2
    ! uiCPUCnt: 1
    ! fTemp: array[2]
    ! 0: 44
    ! 1: 42
    ! fVID: 1.01794434
    ! fCPUSpeed: 2695.383
    ! fFSBSpeed: 99.829
    ! fMultipier: 27
    ! CPUName: "Intel Core i5 6198DU (Skylake-U) "
    ! ucFahrenheit: 0
    ! ucDeltaToTjMax: 0
    ! MemoryInfo: object
    ! TotalPhys: 8057
    ! FreePhys: 3964
    ! TotalPage: 9337
    ! FreePage: 4552
    ! TotalVirtual: 134217728
    ! FreeVirtual: 134217126
    ! FreeExtendedVirtual: 1
    ! MemoryLoad: 50

    Jetzt fehlt mir leider das know how, diese Ergebnis so aufzudröseln das ich damit Datenpunkte befüllen kann.

    hier der (übersichtliche) flow:

    ! [
    ! {
    ! "id": "8cf128ab.71a538",
    ! "type": "tab",
    ! "label": "Flow 2"
    ! },
    ! {
    ! "id": "68c269c.79a6798",
    ! "type": "debug",
    ! "z": "8cf128ab.71a538",
    ! "name": "",
    ! "active": false,
    ! "console": "false",
    ! "complete": "true",
    ! "x": 722.3888969421387,
    ! "y": 281.1111125946045,
    ! "wires": []
    ! },
    ! {
    ! "id": "ccda50c6.5d59a",
    ! "type": "tcp in",
    ! "z": "8cf128ab.71a538",
    ! "name": "",
    ! "server": "client",
    ! "host": "192.168.178.28",
    ! "port": "5200",
    ! "datamode": "stream",
    ! "datatype": "utf8",
    ! "newline": "",
    ! "topic": "",
    ! "base64": false,
    ! "x": 190.38890075683594,
    ! "y": 97.55559158325195,
    ! "wires": [
    ! [
    ! "9fa2a6ae.1f2c38",
    ! "e48d53bd.d3d31"
    ! ]
    ! ]
    ! },
    ! {
    ! "id": "9fa2a6ae.1f2c38",
    ! "type": "json",
    ! "z": "8cf128ab.71a538",
    ! "name": "",
    ! "x": 439.388916015625,
    ! "y": 199.4444580078125,
    ! "wires": [
    ! [
    ! "68c269c.79a6798"
    ! ]
    ! ]
    ! },
    ! {
    ! "id": "e48d53bd.d3d31",
    ! "type": "debug",
    ! "z": "8cf128ab.71a538",
    ! "name": "",
    ! "active": false,
    ! "console": "false",
    ! "complete": "false",
    ! "x": 678.3889007568359,
    ! "y": 155.11111450195312,
    ! "wires": []
    ! }
    ! ]

    Kann mir hier einer eventuell einen Schubs in die richtige Richtung geben.

    –

    Ciao, Gerhard

    1 Antwort Letzte Antwort
    0
    • ThisoftT Offline
      ThisoftT Offline
      Thisoft
      schrieb am zuletzt editiert von
      #2

      Hallo,

      kannst du mir mal den HTTP-Aufruf posten mit dem man erstmal den JSON-String erhält. Ich komme nämlich noch nicht mal soweit dass ich eine korrekte Antwort erhalten würde. Die Sache sieht aber interessant aus. Das Aufdröseln des JSON bekommen wir dann schon hin…

      Gruß Thilo

      22 HM-Geräte; PivCCU2 auf RasPi

      ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

      1 Antwort Letzte Antwort
      0
      • L Online
        L Online
        Linedancer
        schrieb am zuletzt editiert von
        #3

        Nachdem ich CoreTemp installiert habe, hab ich das Addon "Core Temp Remote Server" installiert und unter "Tool - Plug in Manager" gestartet.

        Dann noch unter "Tool" Logging on angehakt und fertisch.

        Auf dem iobroker Rechner im Browser 192.168.178.28:5200 reingetippt und schon kommen die Werte angeflogen wie in meinem ersten Post beschrieben.

        Dort hab ich auch den Node-red flow gepostet mit dem ich das ganze als json empfange.

        –

        Ciao, Gerhard

        1 Antwort Letzte Antwort
        0
        • ThisoftT Offline
          ThisoftT Offline
          Thisoft
          schrieb am zuletzt editiert von
          #4

          OK. Ich hab's soweit erstmal. Hab's auf einem anderen Rechner probiert da hat's auf Anhieb funktioniert. Nur auf dem ursprünglichen Rechner bekomme ich keinen Zugriff per TCP - nichtmal mit ausgeschalteter Firewall. Sei's drum…

          Ich melde mich wieder wenn ich weitergekommen bin...

          22 HM-Geräte; PivCCU2 auf RasPi

          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

          1 Antwort Letzte Antwort
          0
          • L Online
            L Online
            Linedancer
            schrieb am zuletzt editiert von
            #5

            Das lässt hoffen, dank die schon mal.

            –

            Ciao, Gerhard

            1 Antwort Letzte Antwort
            0
            • ThisoftT Offline
              ThisoftT Offline
              Thisoft
              schrieb am zuletzt editiert von
              #6

              Kannst Du auch mit einem Javascript was anfangen? Würde nämlich jetzt ungern erst wieder Node-Red in Betrieb setzen ;)

              22 HM-Geräte; PivCCU2 auf RasPi

              ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

              1 Antwort Letzte Antwort
              0
              • L Online
                L Online
                Linedancer
                schrieb am zuletzt editiert von
                #7

                Ich bin zwar mehr der "Blockly Typ" aber Javascript wird schon gehen.

                –

                Ciao, Gerhard

                1 Antwort Letzte Antwort
                0
                • ThisoftT Offline
                  ThisoftT Offline
                  Thisoft
                  schrieb am zuletzt editiert von
                  #8

                  So - hier mal ein Script:

                  ! ````
                  var pcName = 'Acer2';//Bezeichnung des zu überwachenden PC's
                  var ip = '192.168.137.9';//IP-Adresse des zu überwachenden PC's
                  var intervall = 10; //Intervall in Sekunden für das Abrufen der Werte; sollte min. 5s sein
                  ! //Initalisierung der Datenpunkte wenn noch nicht vorhanden
                  createState('HWInfo.' + pcName + '.CPU.Load', {type: 'number',def: 0, unit: '%'});
                  createState('HWInfo.' + pcName + '.CPU.Temp', {type: 'number',def: 0, unit: '°C'});
                  createState('HWInfo.' + pcName + '.CPU.Speed', {type: 'number',def: 0});
                  createState('HWInfo.' + pcName + '.CPU.Name', {type: 'string',def: ''});
                  createState('HWInfo.' + pcName + '.CPU.Power', {type: 'number',def: 0, unit: 'W'});
                  createState('HWInfo.' + pcName + '.Memory.TotalPhys', {type: 'number',def: 0, unit: 'MB'});
                  createState('HWInfo.' + pcName + '.Memory.FreePhys', {type: 'number',def: 0, unit: 'MB'});
                  createState('HWInfo.' + pcName + '.Memory.Load', {type: 'number',def: 0, unit: '%'});
                  ! schedule("*/" + intervall + " * * * * *", function(){
                  Abrufen();
                  });
                  ! function Abrufen(){
                  var s = require('net');
                  var client = s.connect(5200, ip, function(){
                  //log('client connected');
                  });
                  ! client.on('data', function(d){
                  client.destroy();
                  //log(d);
                  Auswerten(d);
                  });
                  }
                  ! function Auswerten(d){
                  var step1 = JSON.parse(d);
                  var cpuInf = step1.CpuInfo;
                  var memInf = step1.MemoryInfo;
                  ! var werte = cpuInf.uiLoad.toString().split(",");
                  var avg = (werte.reduce(function(a, b) { return parseFloat(a) + parseFloat(b); }))/werte.length;
                  setState('HWInfo.' + pcName + '.CPU.Load',avg,true);
                  werte = cpuInf.fTemp.toString().split(",");
                  avg = (werte.reduce(function(a, b) { return parseFloat(a) + parseFloat(b); }))/werte.length;
                  setState('HWInfo.' + pcName + '.CPU.Temp',avg,true);
                  setState('HWInfo.' + pcName + '.CPU.Speed',parseFloat(cpuInf.fCPUSpeed),true);
                  setState('HWInfo.' + pcName + '.CPU.Name',cpuInf.CPUName,true);
                  setState('HWInfo.' + pcName + '.CPU.Power',parseFloat(cpuInf.fPower),true);
                  setState('HWInfo.' + pcName + '.Memory.TotalPhys',parseFloat(memInf.TotalPhys),true);
                  setState('HWInfo.' + pcName + '.Memory.FreePhys',parseFloat(memInf.FreePhys),true);
                  setState('HWInfo.' + pcName + '.Memory.Load',parseFloat(memInf.MemoryLoad),true);
                  log("CPU-Werte von " + pcName + " eingelesen!");
                  }

                  Schau mal ob du damit klar kommst. Bei Fragen einfach fragen ;)
                  
                  Wäre schon fast eine Überlegung wert einen Adapter draus zu machen… ob da mehr oder weniger allgemeines Interesse besteht?
                  
                  Gruß Thilo

                  22 HM-Geräte; PivCCU2 auf RasPi

                  ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                  1 Antwort Letzte Antwort
                  0
                  • L Online
                    L Online
                    Linedancer
                    schrieb am zuletzt editiert von
                    #9

                    da bin ich ja mal ziemlich begeistert. Funktioniert super.

                    Jetzt werde ich mal versuchen den Code zu verstehen.

                    Dank dir

                    –

                    Ciao, Gerhard

                    1 Antwort Letzte Antwort
                    0
                    • L Online
                      L Online
                      Linedancer
                      schrieb am zuletzt editiert von
                      #10

                      Hallo Thilo,

                      Was noch ganz gut wäre, ist eine Fehler routine falls der Server nicht erreichbar ist. Bei mir bleibt in solchen Fällen der Javascript Adapter stehen.

                      –

                      Ciao, Gerhard

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        @Thisoft:

                        Wäre schon fast eine Überlegung wert einen Adapter draus zu machen… ob da mehr oder weniger allgemeines Interesse besteht? `
                        In dem Falle wäre es evtl eine Überlegung, die Daten per WMI abzufragen, das wäre eine externe Abhängigkeit weniger, die Fehler verursachen kann. Nur so als Denkanstoß.

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        1 Antwort Letzte Antwort
                        0
                        • ThisoftT Offline
                          ThisoftT Offline
                          Thisoft
                          schrieb am zuletzt editiert von
                          #12

                          @Linedancer:

                          Was noch ganz gut wäre, ist eine Fehler routine falls der Server nicht erreichbar ist. Bei mir bleibt in solchen Fällen der Javascript Adapter stehen. `

                          Oh -ja. Da hast du völlig Recht - mach ich demnächst mal noch…

                          @AlCalzone:

                          In dem Falle wäre es evtl eine Überlegung, die Daten per WMI abzufragen, das wäre eine externe Abhängigkeit weniger, die Fehler verursachen kann. Nur so als Denkanstoß. `

                          Ja - hab ich auch schon nachgedacht. Schon alleine um das Drittprogramm gar nicht erst installieren zu müssen. Allerdings ist mir bisher nicht ganz klar, ob überhaupt und wenn ja wie man aus Javascript WMI ansprechen kann… :?: In .NET ist das für mich als JS-Anfänger kein Problem aber dann hätte man ja wieder ein zusätzliches Tool...

                          22 HM-Geräte; PivCCU2 auf RasPi

                          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                          1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            @Thisoft:

                            man aus Javascript WMI ansprechen kann… :?: In .NET ist das für mich als JS-Anfänger kein Problem aber dann hätte man ja wieder ein zusätzliches Tool... `
                            Da gibts npm Pakete für, wahrscheinlich sogar mit Beschreibung. Das dann in der package.json oder im JS Adapter vermerken und es wird bei der Installation automatisch geladen.

                            Gesendet von iPhone mit Tapatalk

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            1 Antwort Letzte Antwort
                            0
                            • AlCalzoneA Offline
                              AlCalzoneA Offline
                              AlCalzone
                              Developer
                              schrieb am zuletzt editiert von
                              #14

                              z.b. hier: https://www.npmjs.com/package/ms-wmic

                              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                              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
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              609

                              Online

                              32.7k

                              Benutzer

                              82.5k

                              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