Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Iobroker daten per Script auslesen

    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

    Iobroker daten per Script auslesen

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

      Hallo Leute,

      kann mir einer helfen bei meine Script?

      diese Script soll Daten aus meine Iobroker in die log schreiben.

      vielen Dank schon mal im voraus.

      Gruß Norman

      Frequenz = '/opt/vc/bin/vcgencmd measure_clock arm | tr -d "frequency(45)="';
      Temperatur = 'cat /sys/class/thermal/thermal_zone0/temp';
      CPU_Last = 'cat /proc/loadavg';
      Pi_in_Volt = '/opt/vc/bin/vcgencmd measure_volts | tr -d "volt=" | tr -d "V"';
      Variable = 'javascript.0.System-Werte.';

      createState(Variable + 'CPU_Frequenz' , 0.0, {name: 'CPU Frequenz' , type: 'number', unit: 'MHZ'});
      createState(Variable + 'CPU_Temperatur', 0.0, {name: 'CPU Temperatur', type: 'number', unit: '°C'});
      createState(Variable + 'CPU_Last' , 0.0, {name: 'CPU Last' , type: 'number', unit: '%'});
      createState(Variable + 'Pi_in_Volt' , 0.0, {name: 'Pi_in_Volt' , type: 'number', unit: 'V'});

      var Generator = setInterval(function() {Systemlogger()} ,3000);

      function Systemlogger() {
      exec(Frequenz, function (error, stdout, stderr) {
      temp = parseInt(stdout.substring(0, stdout.length - 1) / 1000000);
      setState(Variable + 'CPU_Frequenz', temp);
      //log(temp + 'MHZ');
      });

      exec(Temperatur, function (error, stdout, stderr) {
          temp = parseInt(stdout.substring(0, stdout.length - 1) / 100) / 10;
          setState(Variable + 'CPU_Temperatur', temp);
          //log(temp + '°C');
      });
      
      exec(CPU_Last, function (error, stdout, stderr) {
          temp = parseInt(stdout.substring(0, 4) * 100.0);
          setState(Variable + 'CPU_Last', temp);
          //log(temp + '%');
      });
      
      exec(Pi_in_Volt, function (error, stdout, stderr) {
          temp = parseInt(stdout.substring(0, stdout.length - 1) / 1000000);
          setState(Variable + 'Pi_in_Volt', temp);
          //log(temp + 'V');
      });
      

      }

      T 1 Reply Last reply Reply Quote 0
      • BuZZy
        BuZZy last edited by

        Und was funktioniert daran nicht?

        Geht bei mir ohne Probleme..

        Gruß

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

          welchen RPI haben sie?

          Bei meinen RPI 4 Funktioniert dies nicht.

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

            Danke für die Idee!

            Hat bei mir auch nicht 1:1 funktioniert, hab's auf das hier angepasst (und um die GPU Temperatur erweitert):

            const Frequenz = 'vcgencmd measure_clock arm'; // | tr -d "frequency(45)="
            const Temperatur = 'cat /sys/class/thermal/thermal_zone0/temp';
            const GPU_temp = 'vcgencmd measure_temp | tr -d "temp=\'C"'
            const CPU_Last = 'load=$(cat /proc/loadavg) ; printf "%s\n" "${load%% *}"';
            const Pi_in_Volt = 'vcgencmd measure_volts | tr -d "volt=V"'; //  | tr -d "V"
            const Variable = '0_userdata.0.pi4-stats.';
            
            createState(Variable + 'CPU_Frequenz' , 0.0, {name: 'CPU Frequenz' , type: 'number', unit: 'MHZ'});
            createState(Variable + 'CPU_Temperatur', 0.0, {name: 'CPU Temperatur', type: 'number', unit: '°C'});
            createState(Variable + 'GPU_Temperatur', 0.0, {name: 'GPU Temperatur', type: 'number', unit: '°C'});
            createState(Variable + 'CPU_Last' , 0.0, {name: 'CPU Last' , type: 'number', unit: '%'});
            createState(Variable + 'Pi_in_Volt' , 0.0, {name: 'Pi_in_Volt' , type: 'number', unit: 'V'});
            
            function Systemlogger() {
                exec(Frequenz, function (error, stdout, stderr) {
                    var temp = parseInt(stdout.substring(14, stdout.length - 1)) / 1000000;
                    setState(Variable + 'CPU_Frequenz', temp);
                    //log(temp + 'MHZ - from: ' + stdout);
                });
            
                exec(Temperatur, function (error, stdout, stderr) {
                    var temp = parseInt(stdout.substring(0, stdout.length - 1)) / 1000;
                    setState(Variable + 'CPU_Temperatur', temp);
                    //log(temp + '°C');
                });
            
                exec(GPU_temp, function (error, stdout, stderr) {
                    var temp = parseFloat(stdout.substring(0, stdout.length - 1));
                    setState(Variable + 'GPU_Temperatur', temp);
                    //log("GPU_Temperatur = "+temp + '°C');
                });
            
                exec(CPU_Last, function (error, stdout, stderr) {
                    var temp = parseFloat(stdout.substring(0, 4)) * 100;
                    setState(Variable + 'CPU_Last', temp);
                    //log("load = " + temp + '% - src: ' + stdout);
                });
            
                exec(Pi_in_Volt, function (error, stdout, stderr) {
                    var temp = parseFloat(stdout.substring(0, stdout.length - 1)); // / 1000000;
                    setState(Variable + 'Pi_in_Volt', temp);
                    //log(temp + 'V');
                });
            }
            
            var Generator = setInterval(function() {Systemlogger()} ,3000);
            
            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            947
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            3
            4
            816
            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