NEWS
[Gelöst] CPU-Last & Temperatur von entferntem RasPi auslesen
-
@homoran sagte in cpu Last und Temperatur von entferntem RasPi auslesen:
@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.
-
@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 bekommenaber ggf. anders herum.
Vom Raspi per simple API auf den Container zugreifen.Hab aber keine Ahnung wie!
-
@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);
-
@nwh ich weiss nicht wie du die Aufgabe gestellt hast, die Antwort klingt aber nach einem laufenden ioBroker auf dem Raspi
-
@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 -
@codierknecht sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:
Nicht unbedingt.
Wie wäre es mit SNMP?das braucht auch einen Zugriff
-
@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 -
@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?
-
@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 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ö
-
@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
-
@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. -
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.
-
@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
-
@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. -
@nwh sagte in CPU-Last und Temperatur von entferntem RasPi auslesen:
Host ist das der IOB in meinem Container
Jepp
-
@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.
-
@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).
-
@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. -
@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