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. [gelöst] Leistungswerte der Hardware auslesen und anzeigen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Leistungswerte der Hardware auslesen und anzeigen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
90 Beiträge 13 Kommentatoren 23.2k 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.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #76

    Sorry, das Skript übersteigt meine Fähigkeiten. Ich hätte da zwar eine Vermutung, aber da muss ein Skripter mal drüber schauen.

    Wie du richtig beschrieben hast muss dem State ein ACK=true mitgegeben werden.

    kann sein dass das dies hier ist:

    setStateDelayed(idCPUlast,parseInt(stdout),100);
    

    dann müsste hinter dem Wert noch ein ",1" rein (glaube ich)

    setStateDelayed(idCPUlast,parseInt(stdout),100,1);
    

    kann aber auch totaler Blödsinn sein!!!

    Gruß

    Rainer

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #77

      @Doku:

      setStateDelayed (id, state, isAck, delay, clearRunning, callback) `
      Also so:

      setStateDelayed(idCPUlast,parseInt(stdout),true,100);
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #78

        Danke Paul!

        war ich ja sooo falsch (von der Idee und der Zeile) ja nicht ;-)

        Schöne Weihnachten

        Rainer

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          MeisterF
          schrieb am zuletzt editiert von
          #79

          Hallo @paul53 und @ruhr70

          @paul53:

          @Doku:

          setStateDelayed (id, state, isAck, delay, clearRunning, callback) `
          Also so:

          setStateDelayed(idCPUlast,parseInt(stdout),true,100);
          ```` `  
          

          Dann müsste das in allen von ruhr70 geposteten Scrips noch rein.

          Bei den einfachen (CPU, Node-JS oder npm Version) steht die Zeile unten drin und selbst ich konnte das ändern.

          In den anderen (Speicher, etc) müsste das an entsprechender Stelle auch noch rein - nur wo?

          Grüße

          Jörg

          HP dc9700 debian 9 64bit, admin: 2.0.9,email: 1.0.2,flot: 1.7.0,history: 1.6.6,javascript: 3.5.1, js-controller: 1.2.3,km200: 1.1.6,modbus: 0.5.4,vis : 1.0.4,web: 2.1.9

          GB162 mit Buderus web KM200, SolarEdge SE5k mit Modbus Zähler

          1 Antwort Letzte Antwort
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            schrieb am zuletzt editiert von
            #80

            wenn Du Dir viel Arbeit ersparen willst…

            schau Dir mal den neuen Adapter Sysinfo an.

            nicht im Repro. Also im Forum suchen, über die Katze installieren.

            Die meisten Werte sind schon voreingestellt. Der Adapter ersetzt bei mir einen großen Teil der Skripte und wird anstelle des Parser Adapter verwendet.

            Gesendet von iPhone mit Tapatalk

            Adapter: Fritzbox, Unify Circuit
            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              MeisterF
              schrieb am zuletzt editiert von
              #81

              @ruhr70

              Na toll, jetzt wollte ich hier ein CPU-Temperatur-Script einstellen (das ich nur durch Änderungen deines ersten Scriptes gebastelt habe).

              Wer es trotzdem will:

              (Es liest nur die Temperatur der ersten CPU aus und es muss lm-sensors installiert sein - apt-get install lm-sensors - also nur Linux-Rechner)

              ! ````
              var pfad = "Systeminfos.host" + ".";
              var cronStr = "*/1 * * * *";
              ! var abfrage = "sensors | grep 'Core 0:'|tail -n 1 | awk '{print $3}'";
              ! var idCPUTemperatur = pfad + 'CPU_Temperatur';
              ! createState(idCPUTemperatur, 0, {
              name: 'CPU Temperatur',
              desc: 'CPU Temperatur',
              type: 'number',
              unit: '° C',
              role: 'value'
              });

              ! function abfrageCPU() {
              exec(abfrage, function(err, stdout, stderr) {
              if (err) {
              log(err,"error");
              return;
              }
              //log(stdout);
              setStateDelayed(idCPUTemperatur,parseInt(stdout),true,100);
              });
              }
              ! function abfragen() {
              abfrageCPU();
              }
              ! // regelmässige Wiederholungen
              // -----------------------------------------------------------------------------
              schedule(cronStr, abfragen);
              ! // main
              // -----------------------------------------------------------------------------
              function main() {
              abfragen();
              }
              ! // Start Skript:
              // -----------------------------------------------------------------------------
              ! setTimeout(main, 500);
              ! ````

              Ich habe Deinen anderen auch am Laufen - wenn Du da mal noch dieses "true" an der richtigen Stelle rein basteln könntest …

              Ich habe darin die Zeile:

              setStateDelayed(idCPUTemperatur,parseInt(stdout),true,100);

              nicht gefunden.

              zum neuen Adapter …. über die Katze ???

              HP dc9700 debian 9 64bit, admin: 2.0.9,email: 1.0.2,flot: 1.7.0,history: 1.6.6,javascript: 3.5.1, js-controller: 1.2.3,km200: 1.1.6,modbus: 0.5.4,vis : 1.0.4,web: 2.1.9

              GB162 mit Buderus web KM200, SolarEdge SE5k mit Modbus Zähler

              1 Antwort Letzte Antwort
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #82

                @MeisterF:

                Ich habe Deinen anderen auch am Laufen - wenn Du da mal noch dieses "true" an der richtigen Stelle rein basteln könntest …

                Ich habe darin die Zeile:

                setStateDelayed(idCPUTemperatur,parseInt(stdout),true,100);

                nicht gefunden. `

                Wenn Du noch was anpassen willst…

                Im Speicher Skript werden z.B. die Datenpunkte im setState() innerhalb dieser Funktion geschrieben:

                function writeDp(arr) {
                    var i = 0;
                    for (var dp in datenpunkte) {
                        var wert = parseInt(arr[i++]);
                        setState(pfad + dp,wert);
                        //log(dp+": "+ wert + " #" + typeof(wert));
                    }
                }
                
                

                @MeisterF:

                zum neuen Adapter …. über die Katze ??? `

                Siehe Thread: http://forum.iobroker.net/viewtopic.php … nfo#p97813

                Dort steht der Link zum Adapter auf Github.

                Die Github Katze findest Du im Admin/Adapter. Das dritte Icon oben von Links.

                Dann den Tab "beliebig" auswählen, dort in das Feld URL den Github-Linl reinkopieren.

                Dann taucht der Adapter unter Adapter auf und Du kannst in mit dem Plus in der rechten Spalte zu den Instanzen hinzufügen.

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  MeisterF
                  schrieb am zuletzt editiert von
                  #83

                  aha - Danke

                  setStateDelayed(idCPUTemperatur,parseInt(stdout),true,100);
                  

                  ` > Wenn Du noch was anpassen willst…

                  Im Speicher Skript werden z.B. die Datenpunkte im setState() innerhalb dieser Funktion geschrieben:

                  function writeDp(arr) {
                      var i = 0;
                      for (var dp in datenpunkte) {
                          var wert = parseInt(arr[i++]);
                          setState(pfad + dp,wert);
                          //log(dp+": "+ wert + " #" + typeof(wert));
                  
                  ```` `  
                  

                  sollte dann also:

                  function writeDp(arr) {
                      var i = 0;
                      for (var dp in datenpunkte) {
                          var wert = parseInt(arr[i++]);
                          setState(pfad + dp,wert,true,100);
                          //log(dp+": "+ wert + " #" + typeof(wert));
                  
                  

                  sein, oder ohne die 100 ?

                  Ich habe es probiert und setState(pfad + dp,wert,true); lässt die Werte grün - dann schwarz erscheinen.

                  Bei dem neuen Adapter gibt es den Pfad zur Systemtemperatur auf meinem debian 9 nicht - also da steht nichts unter

                  /sys/class/thermal/thermalzone ….

                  (aber dann später mal in dem Thread)

                  HP dc9700 debian 9 64bit, admin: 2.0.9,email: 1.0.2,flot: 1.7.0,history: 1.6.6,javascript: 3.5.1, js-controller: 1.2.3,km200: 1.1.6,modbus: 0.5.4,vis : 1.0.4,web: 2.1.9

                  GB162 mit Buderus web KM200, SolarEdge SE5k mit Modbus Zähler

                  1 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #84

                    @MeisterF:

                    sein, oder ohne die 100 ? `

                    Ohne die 100.

                    Siehe https://github.com/ioBroker/ioBroker.ja … d#setstate

                    setState (id, state, ack, callback)
                    

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      Rompe
                      schrieb am zuletzt editiert von
                      #85

                      @ruhr70:

                      Uptime ioBroker (oben war es die Updike vom Linux Host):

                      ! // system.host.ubuntu1604server.uptime ! var pfad = "Systeminfos.ioBroker" + "."; var idState = "uptime"; ! createState(pfad + idState, 0, { name: 'ioBroker uptime', desc: 'ioBroker uptime', type: 'number', unit: '', role: 'value' }); ! on({id:"system.host.ubuntu1604server.uptime",change:'any'}, function (obj) { setState(pfad + idState,Math.floor((obj.newState.val/3600)/24)); }); ! // main // ----------------------------------------------------------------------------- function main() { // } ! // Start Skript: // ----------------------------------------------------------------------------- ! setTimeout(main, 500); ! `

                      Huhu zusammen.

                      Kann man dieses Script noch erweitern, so dass neben den Tagen auch die Stunden und Minuten ausgegeben werden? Format wie "5T. 19:24" (also 5 Tage, 19 Stunden, 24 Minuten). habe schon versucht ein wenig herumzubasteln, aber bekomme es einfach nicht hin. Über Google habe ich zwar ein paar Sachen zur Umrechnung gefunden, bekomme sie aber nicht richtig in den Code reingepackt.

                      MfG,

                      Tobi

                      1 Antwort Letzte Antwort
                      0
                      • ruhr70R Offline
                        ruhr70R Offline
                        ruhr70
                        schrieb am zuletzt editiert von
                        #86

                        @Rompe:

                        Huhu zusammen.

                        Kann man dieses Script noch erweitern, so dass neben den Tagen auch die Stunden und Minuten ausgegeben werden? Format wie "5T. 19:24" (also 5 Tage, 19 Stunden, 24 Minuten). habe schon versucht ein wenig herumzubasteln, aber bekomme es einfach nicht hin. Über Google habe ich zwar ein paar Sachen zur Umrechnung gefunden, bekomme sie aber nicht richtig in den Code reingepackt.

                        MfG,

                        Tobi `

                        probier mal:

                        // system.host.ubuntu1604server.uptime
                        
                        var pfad        = "Systeminfos.ioBroker" + ".";
                        var idState     = "uptime";
                        var idStateStr  = "uptimeStr";
                        
                        createState(pfad + idState, 0, {
                             name: 'ioBroker uptime',
                             desc: 'ioBroker uptime',
                             type: 'number',
                             unit: '',
                             role: 'value'
                        });
                        
                        createState(pfad + idStateStr, "init", {
                            name: 'ioBroker uptime als String',
                            desc: 'ioBroker uptime als String',
                            type: 'string',
                            unit: '',
                            role: 'value'
                        });
                        
                        function dauerStr(sek) {
                            var tage = Math.floor(sek / (24*3600));
                            var stunden = Math.floor((sek % (24*3600))/3600);
                            var minuten = Math.floor((sek % (3600))/60);
                            var sekunden = Math.floor(sek % 60);
                            return tage.toString()+"d "+stunden.toString()+"h "+minuten.toString()+"m "+sekunden.toString()+"s";
                        }
                        
                        on({id:"system.host.ubuntu1604server.uptime",change:'any'}, function (obj) {
                            setState(pfad + idState,Math.floor((obj.newState.val/3600)/24));
                            setState(pfad + idStateStr,dauerStr(obj.newState.val));
                        });
                        
                        // main
                        // -----------------------------------------------------------------------------
                        function main() {
                            //
                        }
                        
                        // Start Skript:
                        // -----------------------------------------------------------------------------
                        
                        setTimeout(main,    500);
                        

                        [EDIT] 2. createState, type auf "string" geändert.

                        Adapter: Fritzbox, Unify Circuit
                        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          Rompe
                          schrieb am zuletzt editiert von
                          #87

                          Wow, klasse. Vielen Dank. Funzt 1A

                          1 Antwort Letzte Antwort
                          0
                          • R Offline
                            R Offline
                            Rompe
                            schrieb am zuletzt editiert von
                            #88

                            Ah, doch leider noch nicht ganz.

                            Habe verschiedene Datenpunkte in ein HTML Feld eingebunden. Doch leider zeigt mir vis als Wert "undefined" bei der uptime an.

                            Eingebunden ist es in der Tabellenzelle mit {javascript.0.Systeminfos.RaspberryPi1.uptime}

                            Edit: Im Datenpunkt selbst wird es richtig dargestellt.

                            MfG,

                            Tobi

                            1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              aleks-83
                              schrieb am zuletzt editiert von
                              #89

                              @ruhr70:

                              Und eine Variante der Darstellung:

                              iobroker host.jpg `

                              Hallo ruhr70,

                              Ich bin seeehr interessiert an einem Widget Export deiner Darstelleung :mrgreen:

                              Wäre es möglich dass du das mit uns teilst?

                              Deine Skripte werde ich dann auch entpsrechend anpassen und verwenden.

                              Vielen Dank schonmal dass du sie mit uns teilst!

                              = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                              = Node.js v20.19.6 = NPM 10.8.2 = JS Controller 7.0.7 =

                              Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                              Glasfaser 400

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                loverz
                                schrieb am zuletzt editiert von loverz
                                #90

                                Hi zusammen,

                                ich habe bei mir festgestellt, dass einige Adapter gelegentlich eine langsame Verbindung zur Objekt-Datenbank im log melden:
                                40b7c8d2-e162-4cbe-b7e1-5ad27adb8af9-image.png

                                Ich habe das Gefühl, dass die CPU meines Raspberry Pi 4 4GB hier ein wenig zu Stark ausgelastet ist.

                                Im Objekt:
                                6d2d089a-c784-406c-a02e-5b822768f018-image.png

                                Sehe ich eigentlich kaum eine Auslastung.
                                Wie sieht es denn mit den anderen Cores aus? Oder Arbeitet iobroker nur mit einem Core?

                                Kann es sein, dass viele Timeouts im Blockly an der Performance "kratzen"
                                Hab nämlich neulich etwa. 20-30 Timeouts eingebaut, welche "permanent" am laufen sind um Präsenzen abzufragen.

                                Viele Fragen, ich weiß ;)

                                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

                                784

                                Online

                                32.6k

                                Benutzer

                                82.0k

                                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