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