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. Board Info Script für Raspi und Orange pi

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    12
    1
    320

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

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

Board Info Script für Raspi und Orange pi

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 5 Kommentatoren 1.5k 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.
  • BlackmikeB Offline
    BlackmikeB Offline
    Blackmike
    schrieb am zuletzt editiert von
    #1

    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

    die Wahrheit ist ein Chor aus Wind

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

      Hallo Black,

      du hast wohl Langeweile ;-)

      die werde ich dir mal gleich austreiben :D

      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

      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
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        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

        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
        • BlackmikeB Offline
          BlackmikeB Offline
          Blackmike
          schrieb am zuletzt editiert von
          #4

          @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

          die Wahrheit ist ein Chor aus Wind

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

            @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

            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
            • lobomauL Offline
              lobomauL Offline
              lobomau
              schrieb am zuletzt editiert von
              #6

              @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....?

              Host: NUC8i3 mit Proxmox:

              • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
              • Slave: Pi4
              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                norman1991
                schrieb am zuletzt editiert von
                #7

                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?

                BlackmikeB 1 Antwort Letzte Antwort
                0
                • N norman1991

                  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?

                  BlackmikeB Offline
                  BlackmikeB Offline
                  Blackmike
                  schrieb am zuletzt editiert von
                  #8

                  @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

                  die Wahrheit ist ein Chor aus Wind

                  1 Antwort Letzte Antwort
                  0
                  • dontobiD Offline
                    dontobiD Offline
                    dontobi
                    schrieb am zuletzt editiert von
                    #9

                    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.

                    Smart Home Zentrale: Raspberry Pi 4 4GB
                    Meine Homepage: https://www.myHome.zone

                    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

                    530

                    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