Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Board Info Script für Raspi und Orange pi

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Board Info Script für Raspi und Orange pi

    This topic has been deleted. Only users with topic management privileges can see it.
    • Blackmike
      Blackmike last edited by

      Bei mir laufen 2 Iobroker, einer Produktiv auf einem oPI +2e und auf einem RPI3 das Backup system. um Backups zwischen den Systemen austauschen zu können habe ic hmich mal hingesetzt und ein BoardInfo Script geschrieben, welches ohne änderung auf einem RPI (3) und einem OPI plus 2e läuft.

      Unter Javascript.x.Systeminfos.Board werden die States Automatisch angelegt.

      erkannt werden die Boards, indem die hardwarekennung des oPI ausgelesen wird (sun8i).

      In Abhängigkeit davon werden Teilerparameter bestimmt.

      Es kann sein, das beim ersten Start das Board noch nicht erkannt wurde, dann bitte das Script nochmal ausführen.

      var pfad            = "Systeminfos.Board."; // Pfad in dem die Datenpunkte angelegt werden
      
      // Datenpunktnamen:
      var idCPUTemp     = pfad + 'CPU.CPUTemp';
      var idCPUFreq     = pfad + 'CPU.CPUFreq';
      var idCPUFreqScale= pfad + 'CPU.CPUFreqScale';
      var idBoardType   = pfad + 'CPU.BoardType';
      var idCPULoad1    = pfad + 'CPU.Load1';
      var idCPULoad5    = pfad + 'CPU.Load5';
      var idCPULoad15   = pfad + 'CPU.Load15';
      var idRAMtotal    = pfad + 'MEM.RAMtotal';
      var idRAMfree     = pfad + 'MEM.RAMfree';
      var idRAMfreeproz = pfad + 'MEM.RAMfreeProz';
      var idSWAPtotal   = pfad + 'MEM.SWAPtotal';
      var idSWAPused    = pfad + 'MEM.SWAPused';
      var idUPTimeS     = pfad + 'CPU.UptimeSec';
      var idUPTimeD     = pfad + 'CPU.UptimeDay';
      var idEMMCtotal   = pfad + 'EMMC.EMMCtotal';
      var idEMMCused    = pfad + 'EMMC.EMMCused';
      var idEMMCusedProz= pfad + 'EMMC.EMMCusedProz';
      var idCPUcores    = pfad + 'CPU.CPUcores';
      var idIDLErun     = pfad + 'CPU.IDLErun';
      
      var oPI           = true;
      var erg           = 0;
      
      // cat /sys/devices/virtual/thermal/thermal_zone0/temp
      
      var exec = require('child_process').exec, child;
      
      //child = exec('cat /sys/devices/virtual/thermal/thermal_zone0/temp',
      //function (error, stdout, stderr) {
      //        console.log('stdout: ' + stdout);
      //        console.log('stderr: ' + stderr);
      //        if (error !== null) {
      //             console.log('exec error: ' + error);
      //        }
      //    });
      
      function AnlegensysVars () {
          createState (idCPUTemp, "", {
           name: 'Board CPU Temp',
           desc: 'Temperatur Chip',
           type: 'number',
           unit: '°C',
           role: 'object'
          });
          createState (idCPUFreq, "", {
           name: 'SoC Taktfrequenz',
           desc: 'Geschwindigkeit des Prozessoers',
           type: 'number',
           unit: 'MHz',
           role: 'object'
          });  
          createState (idCPUFreqScale, "", {
           name: 'SoC Taktfrequenz Strategie',
           desc: 'Taktfrequenzstrategie',
           type: 'string',
           unit: '',
           role: 'object'
          });      
          createState (idCPULoad1, "", {
           name: 'Auslastung 1 Minute',
           desc: 'Auslatung gemittelt über 1 Minute',
           type: 'number',
           unit: '',
           role: 'object'
          });  
          createState (idCPULoad5, "", {
           name: 'Auslastung 5 Minute',
           desc: 'Auslatung gemittelt über 5 Minuten',
           type: 'number',
           unit: '',
           role: 'object'
          });
          createState (idCPULoad15, "", {
           name: 'Auslastung 15 Minute',
           desc: 'Auslatung gemittelt über 15 Minuten',
           type: 'number',
           unit: '',
           role: 'object'
          });     
          createState (idBoardType, "", {
           name: 'Board Type',
           desc: 'Ermittelter Boardtype des Rechners',
           type: 'string',
           unit: '',
           role: 'object'
          });  
          createState (idRAMtotal, "", {
           name: 'Gesamt Speicher Ram',
           desc: 'Arbeitsspeicher Ram in Megabyte',
           type: 'number',
           unit: 'MB',
           role: 'object'
          });     
          createState (idRAMfree, "", {
           name: 'Freier Speicher',
           desc: 'Freier Speicher Ram in Megabyte',
           type: 'number',
           unit: 'MB',
           role: 'object'
          });       
          createState (idRAMfreeproz, "", {
           name: 'Freier Speicher',
           desc: 'Freier Speicher Ram in Prozent',
           type: 'number',
           unit: '%',
           role: 'object'
          });     
          createState (idSWAPtotal, "", {
           name: 'Swap Speicher',
           desc: 'Maximaler Swap Speicher',
           type: 'number',
           unit: 'MB',
           role: 'object'
          });       
          createState (idSWAPused, "", {
           name: 'Swap Speicher',
           desc: 'Benutzter Swap Speicher',
           type: 'number',
           unit: 'MB',
           role: 'object'
          });     
          createState (idCPUcores, "", {
           name: 'Anzahl der Prozessorkerne der CPU',
           desc: 'Anzahl der Prozessorkerne',
           type: 'number',
           unit: '',
           role: 'object'
          });     
          createState (idIDLErun, "", {
           name: 'Leerlaufzeit der CPU',
           desc: 'Prozentualer Anteil der Uptime, wo die CPU in Leerlauf war',
           type: 'number',
           unit: '%',
           role: 'object'
          });      
          createState (idUPTimeS, "", {
           name: 'Uptime Board',
           desc: 'Uptime in Sekunden',
           type: 'number',
           unit: 's',
           role: 'object'
          });  
          createState (idUPTimeD, "", {
           name: 'Uptime Board',
           desc: 'Uptime in Tagen',
           type: 'number',
           unit: 'd',
           role: 'object'
          });      
          createState (idEMMCtotal, "", {
           name: 'Kapazität EMMC Speicher',
           desc: 'Kapazität EMMC in MB',
           type: 'number',
           unit: 'MB',
           role: 'object'
          });
          createState (idEMMCused, "", {
           name: 'EMMC Speicher in Benutzung',
           desc: 'Benutzter EMMC Speicher in MB',
           type: 'number',
           unit: 'MB',
           role: 'object'
          });  
          createState (idEMMCusedProz, "", {
           name: 'EMMC Speicher in Benutzung Prozent',
           desc: 'Benutzter EMMC Speicher in Prozent',
           type: 'number',
           unit: '%',
           role: 'object'
          });      
      }
      
      function Auslesen_CPUFreq () {
          // Auslesen CPU Frequenz
          exec ('cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq',
          function (error, stdout, stderr) {
              var reg= /(\d*)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  erg= parseInt (match [match.length-1]);
                  erg=erg/1000;
                  setState (idCPUFreq, erg );
              }    
              if (error !== null) {console.log('exec error: ' + error); }
          });    
      }
      
      function AktualisierenWerte () {
          // CPU Temperatur auswerten
          exec ('cat /sys/devices/virtual/thermal/thermal_zone0/temp',
          function (error, stdout, stderr) {
              var reg= /(\d*)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  erg= parseInt (match [match.length-1]); 
                  log ("TEMP:" +erg);
                  log (oPI);
                  if (!oPI) { erg= erg/1000;}
                  setState (idCPUTemp, erg );
              }    
              if (error !== null) {console.log('exec error: ' + error); }
          });    
          // Auslesen der Prozessorkerne
          exec ('cat /sys/devices/system/cpu/kernel_max',
          function (error, stdout, stderr) {
              var reg= /(\d*)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  erg= parseInt (match [match.length-1]);
                  setState (idCPUcores, erg+1 );
              }    
              if (error !== null) {console.log('exec error: ' + error); }
          });    
          // Auslesen CPU Taktstrategie
          exec ('cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor',
          function (error, stdout, stderr) {
              setState (idCPUFreqScale, stdout );
              if (error !== null) {console.log('exec error: ' + error); }
          });     
          // Auslesen Auslastung
          exec ('cat /proc/loadavg',
          function (error, stdout, stderr) {
              var reg= /(\S+)\s(\S+)\s(\S+)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  setState (idCPULoad1, parseFloat (match [1] ));
                  setState (idCPULoad5, parseFloat (match [2] ));
                  setState (idCPULoad15, parseFloat (match [3] ));
              }    
              if (error !== null) {console.log('exec error: ' + error); }
          });     
          // Auslesen RAM Belegung
          exec ('cat /proc/meminfo',
          function (error, stdout, stderr) {
              var RamFree=1;
              var RamTotal=1;
              var SwapTotal=1;
              var reg= /MemTotal:\s+(\d+)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  RamTotal=parseInt (match [1])/1000 ;
                  setState (idRAMtotal, Math.round (RamTotal));
              }    
              reg=/MemFree:\s+(\d+)/gi;
              match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  RamFree=parseInt (match [1])/1000; 
                  setState (idRAMfree, Math.round (RamFree));
              }   
              setState (idRAMfreeproz,Math.round (RamFree/RamTotal * 100));
              // Swap Speicher auswerten
              reg=/SwapTotal:\s+(\d+)/gi;
              match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  SwapTotal=parseInt (match [1])/1000; 
                  setState (idSWAPtotal, Math.round (SwapTotal));
              }  
              reg=/SwapFree:\s+(\d+)/gi;
              match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  setState (idSWAPused, Math.round (SwapTotal-(parseInt (match [1])/1000)));
              }         
              if (error !== null) {console.log('exec error: ' + error); }
          });      
          // Auslesen der Uptime
          exec ('cat /proc/uptime',
          function (error, stdout, stderr) {
              var reg= /(\S+)\s(\S+)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  setState (idUPTimeS,Math.round (parseFloat (match [1])));
                  setState (idUPTimeD,Math.round (parseFloat (match [1])/86400));
                  setState (idIDLErun,Math.round (parseFloat (match [2]) / getState (idCPUcores).val / parseFloat (match[1]) * 10000)/100);
              }    
              if (error !== null) {console.log('exec error: ' + error); }        
          });    
          // Auslesen der EMMC
          exec ('df -k / | grep /',
          function (error, stdout, stderr) {
              //log (stdout);
              var reg= /\S+\s+(\d+).*/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  setState (idEMMCtotal,Math.round (parseFloat (match [1]) /1024 ));
              }    
              reg= /\S+\s+\d+\s+(\d+).*/gi;
              match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  setState (idEMMCused,Math.round (parseFloat (match [1]) /1024 ));
              }    
              setState (idEMMCusedProz,Math.round (getState (idEMMCused).val / getState (idEMMCtotal).val *100));        
              if (error !== null) {console.log('exec error: ' + error); }        
          });      
          setTimeout (Auslesen_CPUFreq,1000);    
      }
      
      schedule("* * * * *", function () {
      // Jede Minute
          AktualisierenWerte ();
      });
      
      AnlegensysVars ();
      // Ermitteln welches Board so vorliegt
      exec ('cat /proc/cpuinfo | grep Hardware',
          function (error, stdout, stderr) {
              var reg= /:\s(.*)/gi;
              var match= reg.exec (stdout);
              if (match !== undefined && match !== null && match.length !== undefined) {
                  setState (idBoardType, match [match.length-1] );
                  log (match[match.length-1]);
                  if (match[match.length-1]=="sun8i") {
                      oPI= true;
                      log ("OrangePI Hardware gefunden : sun8i");
                  }
                  else {
                      oPI= false;
                      log ("Raspberry PI Hardware gefunden : BMC 7209");                
                  }
                  AktualisierenWerte (); 
              }    
              if (error !== null) {console.log('exec error: ' + error); }
          });    
      
      

      Greetz, Black

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Hallo Black,

        du hast wohl Langeweile 😉

        die werde ich dir mal gleich austreiben 😄

        ich arbeite als js-legastheniker schon lange an so etwas.
        144_hardware01.jpg
        144_hardware02.jpg

        und zur Strafe meine Outputs:

        ! Cubietruck zum ersten: 15:58:55.482 [info] javascript.0 Start javascript script.js.Boarderkennung 15:58:55.484 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 15:58:57.003 [info] javascript.0 script.js.Boarderkennung: Allwinner sun7i (A20) Family 15:58:57.004 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 15:58:57.064 [info] javascript.0 script.js.Boarderkennung: TEMP:46100 15:58:57.065 [info] javascript.0 script.js.Boarderkennung: false 15:59:01.273 [info] javascript.0 script.js.Boarderkennung: TEMP:46900 15:59:01.274 [info] javascript.0 script.js.Boarderkennung: false ! zum zweiten: 15:59:42.137 [info] javascript.0 Start javascript script.js.Boarderkennung 15:59:42.138 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 15:59:42.139 [info] javascript.0 script.js.Boarderkennung: Allwinner sun7i (A20) Family 15:59:42.139 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 15:59:42.140 [info] javascript.0 script.js.Boarderkennung: TEMP:46400 15:59:42.141 [info] javascript.0 script.js.Boarderkennung: false ! RPi2 zum ersten: 16:00:12.119 [info] javascript.1 Start javascript script.js.Boarderkennung 16:00:12.122 [info] javascript.1 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:00:12.546 [info] javascript.1 script.js.Boarderkennung: BCM2835 16:00:12.546 [info] javascript.1 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:00:12.551 [info] javascript.1 script.js.Boarderkennung: TEMP:39007 16:00:12.552 [info] javascript.1 script.js.Boarderkennung: false ! zum zweiten: 16:01:15.763 [info] javascript.1 Start javascript script.js.Boarderkennung 16:01:15.763 [info] javascript.1 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:01:15.763 [info] javascript.1 script.js.Boarderkennung: BCM2835 16:01:15.763 [info] javascript.1 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:01:15.764 [info] javascript.1 script.js.Boarderkennung: TEMP:35780 16:01:15.764 [info] javascript.1 script.js.Boarderkennung: false ! Tinkerboard zum ersten 16:02:43.731 [info] javascript.0 Start javascript script.js.Boarderkennung 16:02:43.732 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:02:43.732 [info] javascript.0 script.js.Boarderkennung: Rockchip (Device Tree) 16:02:43.732 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:02:43.734 [info] javascript.0 script.js.Boarderkennung: TEMP:NaN 16:02:43.734 [info] javascript.0 script.js.Boarderkennung: false 16:02:43.734 [info] javascript.0 script.js.Boarderkennung: exec error: Error: Command failed: cat /sys/devices/virtual/thermal/thermal_zone0/temp cat: /sys/devices/virtual/thermal/thermal_zone0/temp: Das Argument ist ungültig ! zum zweiten: 16:03:20.219 [info] javascript.0 Start javascript script.js.Boarderkennung 16:03:20.220 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:03:20.404 [info] javascript.0 script.js.Boarderkennung: Rockchip (Device Tree) 16:03:20.405 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:03:20.405 [info] javascript.0 script.js.Boarderkennung: TEMP:NaN 16:03:20.405 [info] javascript.0 script.js.Boarderkennung: false 16:03:20.405 [info] javascript.0 script.js.Boarderkennung: exec error: Error: Command failed: cat /sys/devices/virtual/thermal/thermal_zone0/temp cat: /sys/devices/virtual/thermal/thermal_zone0/temp: Das Argument ist ungültig ! zum dritten, thermal_zone0 in thermal_zone1 geändert 16:04:43.034 [info] javascript.0 Stop script script.js.Boarderkennung 16:04:43.087 [info] javascript.0 Start javascript script.js.Boarderkennung 16:04:43.088 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:04:43.203 [info] javascript.0 script.js.Boarderkennung: Rockchip (Device Tree) 16:04:43.204 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:04:43.204 [info] javascript.0 script.js.Boarderkennung: TEMP:47727 16:04:43.204 [info] javascript.0 script.js.Boarderkennung: false ! Pine64 zum ersten: 16:06:19.838 [info] javascript.0 Start javascript script.js.Boarderkennung 16:06:19.838 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:06:21.863 [info] javascript.0 script.js.Boarderkennung: sun50iw1p1 16:06:21.863 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:06:21.865 [info] javascript.0 script.js.Boarderkennung: TEMP:46 16:06:21.865 [info] javascript.0 script.js.Boarderkennung: false ! zum zweiten: 16:06:40.386 [info] javascript.0 Start javascript script.js.Boarderkennung 16:06:40.386 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:06:40.387 [info] javascript.0 script.js.Boarderkennung: sun50iw1p1 16:06:40.387 [info] javascript.0 script.js.Boarderkennung: Raspberry PI Hardware gefunden : BMC 7209 16:06:40.388 [info] javascript.0 script.js.Boarderkennung: TEMP:46 16:06:40.388 [info] javascript.0 script.js.Boarderkennung: false ! OPi+2e mit javascript-Adapter 3.3.11 gibt keine output an :( ! NUC5PPYH zum ersten: 16:12:57.357 [info] javascript.0 Start javascript script.js.Boarderkennung 16:12:57.358 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:12:57.363 [info] javascript.0 script.js.Boarderkennung: exec error: Error: Command failed: cat /proc/cpuinfo | grep Hardware 16:13:00.509 [info] javascript.0 script.js.Boarderkennung: TEMP:52000 16:13:00.509 [info] javascript.0 script.js.Boarderkennung: true ! zum zweiten: 16:13:00.509 [info] javascript.0 script.js.Boarderkennung: true 16:13:25.425 [info] javascript.0 Stop script script.js.Boarderkennung 16:13:25.510 [info] javascript.0 Start javascript script.js.Boarderkennung 16:13:25.511 [info] javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule 16:13:25.518 [info] javascript.0 script.js.Boarderkennung: exec error: Error: Command failed: cat /proc/cpuinfo | grep Hardware 16:14:00.689 [info] javascript.0 script.js.Boarderkennung: TEMP:52000 16:14:00.690 [info] javascript.0 script.js.Boarderkennung: true !
        Die andere Hardware läuft ledier im Moment nicht.
        144_minis01.jpg
        sonst hätte ich dich auch mit deren outputs zugespammt.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          Das mit dem OPi hat mir keine Ruhe gelassen.

          :oops: :oops: man hätte auf dem OPi den js-Adapter nach der Installation und Instanziierung vielleicht starten sollen :oops: :oops:

          16:51:28.266	[info]	javascript.0 Start javascript script.js.Boarderkennung
          16:51:28.268	[info]	javascript.0 script.js.Boarderkennung: registered 0 subscriptions and 1 schedule
          16:51:28.268	[info]	javascript.0 script.js.Boarderkennung: sun8i
          16:51:28.269	[info]	javascript.0 script.js.Boarderkennung: OrangePI Hardware gefunden : sun8i
          16:51:28.269	[info]	javascript.0 script.js.Boarderkennung: TEMP:38
          16:51:28.269	[info]	javascript.0 script.js.Boarderkennung: true
          

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • Blackmike
            Blackmike last edited by

            @Hormoran / Rainer

            Die Logausgabe ist nicht soooo interessant ausser zum Fehlereinkreisen.

            Das Script müsste dir nun ein paar States angelegt haben

            Die kannst du nun in weiteren Scripten oder in VIS verarbeiten

            1587_board1.jpg

            mein Übersichtsbild kanntest du ja schon vom letzten Treffen, da zwar noch aufm Handy, für den oPI noch bisschen erweitert:

            1587_board2.jpg

            Wir sehenuns ja eh nächste Woche, wenn das richtig im kopp hab ^^

            greetz, Black

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators last edited by

              @Blackmike:

              Wir sehenuns ja eh nächste Woche, wenn das richtig im kopp hab ^^ `
              Armer Kopp 😉

              leider nein, ich habe nächste Woche Urlaub und bin alleine mit meiner Tochter von Montag bis Mittwoch in der Dr. Who Experience in Cardiff.

              Freitag - Sonntag wollte ich alleine nach Donauwörth auf das Horizon Air-Meet.

              Da wollte ich wenigstens einen Tag braver Ehemann sein und zu Hause bleiben.

              Wenn das Airmeet für mich wegen schlechten Wetters ausfällt, überlege ich es mir vielleicht noch.

              Bei den Datenpunkten fehlt vielleicht noch außer der Load (Systemlast incl. I/O) die echte Prozessorlast.

              EDIT - hast du ja doch drin! Aber nur beim Cubie.

              Gruß

              Rainer

              1 Reply Last reply Reply Quote 0
              • lobomau
                lobomau last edited by

                @Blackmike: ich habe dein Script im ersten Beitrag des threads direkt übernommen für den Pi3. Es geht alles bis auf einen Wert: IDLErun steht konstant auf 120.62 %. Eine Idee woran es liegt?

                Edit: der Wert lebt… war 120.61, dann 120.6 %. Vielleicht einfach länger warten....?

                1 Reply Last reply Reply Quote 0
                • N
                  norman1991 last edited by

                  Brauche mal eure Hilfe folgendes:

                  so habe ich dies angelegt leider Funktioniert dies nicht. Hilfe Hilfe....

                  // Datenpunktnamen:
                  var idCPUVolts = Pfad + 'CPU.Volts'; //So Richtig?

                  // Als Funktion:
                  createState (idCPUVolts, "", {
                  name: 'CPU Spannung',
                  desc: 'Spannung pro Core',
                  type: 'number',
                  unit: 'V',
                  role: 'object'
                  }); //So Richtig?

                  // Auslesen CPU Spannung
                  exec ('vcgencmd measure_volts core',
                  function (error, stdout,stderr) {
                  var reg= (\d+.\d+)V;
                  setState (idCPUVolts, stdout );
                  }
                  if (error !== null) {console.log('exec error: ' + error); }
                  }); // So Richtig?

                  Blackmike 1 Reply Last reply Reply Quote 0
                  • Blackmike
                    Blackmike @norman1991 last edited by

                    @norman1991 ich kannst so leider nimmer testen. Seit Ende letzten Jahres laufen bei mir beide iobroker und mein mysql Server unter proxmox auf einem nuc. Das script ist damit außer Funktion. Vllt kann das aber einer der Kollegen hier verifizieren

                    1 Reply Last reply Reply Quote 0
                    • dontobi
                      dontobi last edited by

                      Ich nutze das im 1. Beitrag genannte Script. Auf meinem Pi3 lief alles ohne Problem. Ich habe aber jetzt einen Pi 4 und die Anzeige der Taktfrequenz ist "Null Mhz".
                      Keine Ahnung warum. Vielleicht kann mir jemand da weiter helfen.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      754
                      Online

                      31.8k
                      Users

                      79.9k
                      Topics

                      1.3m
                      Posts

                      5
                      9
                      1314
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo