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. Iobroker daten per Script auslesen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Iobroker daten per Script auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
4 Beiträge 3 Kommentatoren 929 Aufrufe 3 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.
  • N Offline
    N Offline
    norman1991
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • BuZZyB Offline
      BuZZyB Offline
      BuZZy
      schrieb am zuletzt editiert von
      #2

      Und was funktioniert daran nicht?

      Geht bei mir ohne Probleme..

      Gruß

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        norman1991
        schrieb am zuletzt editiert von
        #3

        welchen RPI haben sie?

        Bei meinen RPI 4 Funktioniert dies nicht.

        1 Antwort Letzte Antwort
        0
        • N norman1991

          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 Offline
          T Offline
          tigiba
          schrieb am zuletzt editiert von tigiba
          #4

          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 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

          888

          Online

          32.4k

          Benutzer

          81.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