RasPi Zero W - SOC Temperatur als Systemvariable schreiben

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

RasPi Zero W - SOC Temperatur als Systemvariable schreiben

Beitrag von Gelegenheitsbastler » 18.11.2017, 10:51

Die Temperatur des SOC (CPU) frage ich bisher so ab:

Code: Alles auswählen

vcgencmd measure_temp
Das Ergebnis würde ich gerne als Systemvariable oder als Wert eines CUxD Gerätes loggen, um es dann mit CUxD HighCharts grafisch darstellen zu können. Aber wie bekomme ich die Temperaturangabe in eine Systemvariable (oder als Wert in ein CUxD Gerät)?
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

Übersicht meiner Projekte


RaspberryMatic 3.47.22.20191026 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC

Etliche selbst gebaute Aktoren und Sender

Benutzeravatar
jmaus
Beiträge: 9862
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1880 Mal
Kontaktdaten:

Re: RasPi Zero W - SOC Temperatur als Systemvariable schreib

Beitrag von jmaus » 18.11.2017, 12:12

Das sollte in etwa so gehen:

Code: Alles auswählen

object sysvar = dom.GetObject("Systemvariable");
string stdin;
system.Exec("vcgencmd measure_temp", &stdin);
sysvar.State(stdin);
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: RasPi Zero W - SOC Temperatur als Systemvariable schreib

Beitrag von Gelegenheitsbastler » 18.11.2017, 12:46

Danke für die schnelle Antwort. Leider funktioniert das nicht. Der Wert der Variable bleibt unverändert bei Null stehen.

Folgendes habe ich gemacht:
- Systemvariable "CPU_Temp" mit "Zahl 0-100" angelegt.
- Ein Programm angelegt, dass zu Testzwecken alle 10 Sekunden aufgerufen wird.
- In Deiner ersten Zeile "Systemvariable" gegen "CPU_Temp" getauscht und das in das Programm geschrieben.
- Die Systemvariable als "Favorit" auf die Hauptseite gelegt, um den Wert sehen zu können.

So wie ich Deine Zeilen verstehe, wird das Ergebnis von "vcgencmd measure_temp" in die Systemvariable geschrieben. Ist das soweit richtig?
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

Übersicht meiner Projekte


RaspberryMatic 3.47.22.20191026 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC

Etliche selbst gebaute Aktoren und Sender

Benutzeravatar
jmaus
Beiträge: 9862
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1880 Mal
Kontaktdaten:

Re: RasPi Zero W - SOC Temperatur als Systemvariable schreib

Beitrag von jmaus » 18.11.2017, 13:24

Nunja, ich hatte ja auch "in etwa" geschrieben :) D.h. es war ungetestet. Nach einem kurzen Test sollte es wohl eher so aussehen:

Code: Alles auswählen

string temp;
system.Exec("vcgencmd measure_temp | cut -d '=' -f2 | cut -d\"'\" -f1", &temp);
if(temp != "") {
  dom.GetObject(ID_SYSTEM_VARIABLES).Get("CPU_Temp").State(temp);
}
D.h. die Ausgabe von "vcgencmd" muss natürlich noch in eine reine Zahl geparst werden weil die Ausgabe wie folgt aussieht:

Code: Alles auswählen

# vcgencmd measure_temp
temp=41.2'C
D.h. da steht noch "temp=" dafür und dahinter auch die Einheit. Das muss natürlich vor der Zuweisung zu einer Variablen weg.

Hierbei sei aber gesagt, dass der obere system.Exec() Aufruf so nur mit neueren RaspberryMatic Versionen geht, weil das alte system.Exec() keine Pipes (|) zulässt. In dem Fall muss man die Ausgabe von vcgencmd mit ReGa Skript-boardmitteln erledigen (Substr() & Co).
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: RasPi Zero W - SOC Temperatur als Systemvariable schreib

Beitrag von Gelegenheitsbastler » 18.11.2017, 14:23

Als bekennender Software-Legastheniker muss ich sagen, dass ich Deine Beschreibung verstehe, aber diese Zeilen nicht vollumfänglich nachvollziehen kann.

Vielen Dank für Deine Mühe (für Dich wahrscheinlich eher eine Fingerübung). Es funktioniert genau so, wie ich es mir vorgestellt habe. Ich bin gespannt, ob ich das auch für die CPU Auslastung hin bekomme.
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

Übersicht meiner Projekte


RaspberryMatic 3.47.22.20191026 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC

Etliche selbst gebaute Aktoren und Sender

Antworten

Zurück zu „CUxD“