Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Gelöst] CPU-Last & Temperatur von entferntem RasPi auslesen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst] CPU-Last & Temperatur von entferntem RasPi auslesen

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

      @homoran sagte in cpu Last und Temperatur von entferntem RasPi auslesen:

      @thomas-braun

      @thomas-braun sagte in cpu Last und Temperatur von entferntem RasPi auslesen:

      @homoran sagte in cpu Last und Temperatur von entferntem RasPi auslesen:

      Was genau willst du?

      Per 'Fernzugang'/SSH die Werte eines RPi auslesen.

      dann hab ich mit dem provisorischen Threadtitel doch getroffen.

      dann geht es um den hier?

      @nwh sagte in cpu Last und Temperatur von entferntem RasPi auslesen:

      Ich habe noch einen zusätzlichen Raspi wo ich die WP auslese.

      @NWH
      läuft da iobroker als slave drauf?

      Nein, wie gesagt Raspin OS und ein Script.

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

        @nwh Da haben sich unsere Posts überschnitten.

        Das wird nicht so einfach per script aus dem Container zu lösen sein.
        Du musst ja Zugriff auf den anderen Raspi bekommen

        aber ggf. anders herum.
        Vom Raspi per simple API auf den Container zugreifen.

        Hab aber keine Ahnung wie!

        NWH Codierknecht 2 Replies Last reply Reply Quote 0
        • NWH
          NWH @Homoran last edited by

          @homoran
          mhhh
          ChatGPT meinte:

          Um die CPU-Temperatur und -Auslastung deines Raspberry Pi auszulesen und im ioBroker darzustellen, kannst du die Daten mit einem Shell-Skript sammeln und dann über den ioBroker-Adapter „Systeminfo“ oder „Javascript“ zur Anzeige bringen.

          Allerdings möchte ich nicht haben das die Daten am Raspi gespeichert werden.
          Ich kenn mich hier nicht so gut aus, aber kann man den Pfad wo anders hin ändern?

          Das wäre das Script

          #!/bin/bash
          # cpu_data.sh
          
          # CPU-Temperatur
          temp=$(vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*')
          
          # CPU-Auslastung
          usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
          
          # Ausgabe
          echo "temp=$temp"
          echo "usage=$usage"
          
          

          und hier das 2te Script

          const exec = require('child_process').exec;
          
          function readCpuData() {
              // Befehl für die CPU-Temperatur
              exec("vcgencmd measure_temp", (error, stdout, stderr) => {
                  if (error) {
                      console.error(`exec error: ${error}`);
                      return;
                  }
                  const temp = parseFloat(stdout.replace('temp=', '').replace("'C\n", ''));
                  setState("javascript.0.raspberrypi.temp", temp);
              });
          
              // Befehl für die CPU-Auslastung
              exec("top -bn1 | grep 'Cpu(s)' | sed 's/.*, *\\([0-9.]*\\)%* id.*/\\1/' | awk '{print 100 - $1}'", (error, stdout, stderr) => {
                  if (error) {
                      console.error(`exec error: ${error}`);
                      return;
                  }
                  const usage = parseFloat(stdout);
                  setState("javascript.0.raspberrypi.usage", usage);
              });
          }
          
          // CPU-Daten alle 10 Sekunden abrufen
          schedule("*/10 * * * * *", readCpuData);
          
          
          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @NWH last edited by Homoran

            @nwh ich weiss nicht wie du die Aufgabe gestellt hast, die Antwort klingt aber nach einem laufenden ioBroker auf dem Raspi

            NWH 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Homoran last edited by

              @homoran sagte in cpu Last und Temperatur von entferntem RasPi auslesen:

              Du musst ja Zugriff auf den anderen Raspi bekommen

              Nicht unbedingt.
              Wie wäre es mit SNMP?
              Auf den Raspi kommt der Daemon und mit ioBroker kommt man mit dem SNMP-Adapter da ran.

              Ich habe keinen Raspi. Aber wenn ich einen zu überwachen hätte, würde ich das mit Zabbix machen und auf dem Pi den Agent installieren.
              Liegt aber auch daran, dass ich sowieso jeden Furz und Feuerstein mit Zabbix überwache 😁

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

                @codierknecht sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                Nicht unbedingt.
                Wie wäre es mit SNMP?

                das braucht auch einen Zugriff 😀

                Codierknecht 1 Reply Last reply Reply Quote 0
                • NWH
                  NWH @Homoran last edited by

                  @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                  @nwh ich weiss nicht wie du die Aufgabe gestellt hast, die Antwort klingt aber nach einem laufenden ioBroker auf dem Raspi

                  Findest du, ich hätte es so interpretiert wie ich es gerne hätte.
                  Frage war, wie einen Raspi auslesen und im Iobroker integrieren

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

                    @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                    Frage war, wie einen Raspi auslesen und im Iobroker integrieren

                    also nichts von entferntem Raspberry erwähnt?

                    NWH 1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @Homoran last edited by

                      @homoran
                      Naja .... irgend eine Art von Zugriff wird auf jeden Fall nötig sein.
                      SSH, SNMP ... selbst für das dranhalten eines Thermometers ist ein "Zugriff" nötig 😀

                      Homoran 1 Reply Last reply Reply Quote 0
                      • NWH
                        NWH @Homoran last edited by

                        @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                        @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                        Frage war, wie einen Raspi auslesen und im Iobroker integrieren

                        also nichts von entferntem Raspberry erwähnt?

                        nö

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

                          @codierknecht sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                          irgend eine Art von Zugriff wird auf jeden Fall nötig sein.

                          nicht bei Ausleseskript per bash oder python auf dem Raspi und senden der Daten an die SimpleAPI des iob

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • NWH
                            NWH @NWH last edited by

                            @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                            @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                            @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                            Frage war, wie einen Raspi auslesen und im Iobroker integrieren

                            also nichts von entferntem Raspberry erwähnt?

                            nö

                            Aber du hast Recht, habe jetzt die Frage umformuliert. Dann kommt das Ergebnis raus was du sagtest: 😇

                            Voraussetzungen
                            SSH-Zugriff auf den entfernten Raspberry Pi.
                            Installierter ioBroker auf dem Host-System.
                            Systeminfo-Adapter in ioBroker für die Datenerfassung (optional, aber empfehlenswert).
                            Script-Adapter in ioBroker für die Automatisierung des Temperatur-Updates.

                            NWH 1 Reply Last reply Reply Quote 0
                            • wendy2702
                              wendy2702 last edited by wendy2702

                              Am Handy nicht alles gelesen aber wenn die Abfrage per Befehl möglich ist kann man den Linux Control Adapter verwenden.

                              Also wenn die beiden Befehle die gewünschte Ausgabe liefern

                              
                              temp=$(vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*')
                               
                              # CPU-Auslastung
                              usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
                              
                              

                              Dann per Linux Control und SSH. Sollte dann ein iob Objekt ergeben das den Wert enthält.

                              1 Reply Last reply Reply Quote 1
                              • Codierknecht
                                Codierknecht Developer Most Active @Homoran last edited by

                                @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                bei Ausleseskript per bash oder python auf dem Raspi und senden der Daten

                                OK - andersrum. Auch 'ne Möglichkeit 😉

                                1 Reply Last reply Reply Quote 0
                                • NWH
                                  NWH @NWH last edited by

                                  @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                  @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                  @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                  @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                  Frage war, wie einen Raspi auslesen und im Iobroker integrieren

                                  also nichts von entferntem Raspberry erwähnt?

                                  nö

                                  Aber du hast Recht, habe jetzt die Frage umformuliert. Dann kommt das Ergebnis raus was du sagtest: 😇

                                  Voraussetzungen
                                  SSH-Zugriff auf den entfernten Raspberry Pi.
                                  Installierter ioBroker auf dem Host-System.
                                  Systeminfo-Adapter in ioBroker für die Datenerfassung (optional, aber empfehlenswert).
                                  Script-Adapter in ioBroker für die Automatisierung des Temperatur-Updates.

                                  Jetzt muss ich nochmals Fragen, was ist damit gemeint, Host ist das der IOB in meinem Container oder muss ich den auf dem Raspi nochmals Iob installieren?
                                  > Installierter ioBroker auf dem Host-System.

                                  Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active @NWH last edited by

                                    @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                    Host ist das der IOB in meinem Container

                                    Jepp

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

                                      @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                      Host ist das der IOB in meinem Container

                                      nein, host ist der Rechner auf dem ioBroker läuft

                                      @nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                      Installierter ioBroker auf dem Host-System.

                                      NWH Codierknecht 2 Replies Last reply Reply Quote 0
                                      • NWH
                                        NWH @Homoran last edited by

                                        @homoran
                                        ok dann müsste es mit dem Script funktionieren, allerding weiß ich nicht was ich hier eintragen soll?

                                        /pfad/zum/ssh/schlüssel durch den Pfad zu deinem SSH-Schlüssel (wenn ein Passwort statt eines Schlüssels verwendet wird, kann der Schlüssel-Parameter entfallen und ein Passwort kann im Befehl interaktiv eingegeben werden).

                                        const { exec } = require('child_process');
                                        const remoteIP = 'IP_DES_RASPBERRY_PI'; // IP-Adresse des Raspberry Pi
                                        const sshUser = 'pi'; // Standardnutzer des Raspberry Pi
                                        const sshKeyPath = '/pfad/zum/ssh/schlüssel'; // Pfad zum SSH-Schlüssel, falls verwendet
                                        
                                        // Befehl zur Abfrage der CPU-Temperatur
                                        const sshCommand = `ssh -i ${sshKeyPath} ${sshUser}@${remoteIP} cat /sys/class/thermal/thermal_zone0/temp`;
                                        
                                        // Funktion zur Abfrage und Verarbeitung
                                        function fetchCPUTemperature() {
                                           exec(sshCommand, (error, stdout, stderr) => {
                                               if (error) {
                                                   console.error(`Fehler bei SSH-Aufruf: ${error.message}`);
                                                   return;
                                               }
                                               if (stderr) {
                                                   console.error(`SSH-Fehlermeldung: ${stderr}`);
                                                   return;
                                               }
                                               
                                               // Temperaturdaten verarbeiten und in Celsius umrechnen
                                               const tempMilliC = parseInt(stdout.trim(), 10);
                                               const tempCelsius = tempMilliC / 1000; // Ergebnis in °C
                                               
                                               // Temperatur in einen Datenpunkt in ioBroker schreiben
                                               const dataPoint = 'javascript.0.raspberrypi.cpu_temperature'; // Name des Datenpunkts
                                               setState(dataPoint, tempCelsius, true);
                                           });
                                        }
                                        
                                        // Temperatur alle 5 Minuten abfragen
                                        schedule("*/5 * * * *", fetchCPUTemperature);
                                        
                                        

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @Homoran last edited by

                                          @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                          nein, host ist der Rechner auf dem ioBroker läuft

                                          ??????
                                          Sein ioB läuft doch als Container auf dem NAS.

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

                                            @codierknecht sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                            @homoran sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:

                                            nein, host ist der Rechner auf dem ioBroker läuft

                                            ??????
                                            Sein ioB läuft doch als Container auf dem NAS.

                                            Dann ist der Container(?) oder das NAS der Host.
                                            Host ist ein Rechner

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            raspberry pi
                                            5
                                            42
                                            1794
                                            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