Was genau ist an Executor Plugin Bahnhof?
Ankündigung
Einklappen
Keine Ankündigung bisher.
RasPi: (CPU) Temperatur aufzeichnen
Einklappen
X
-
Nachdem ich auf das Plugin aufmerksam gemacht worden bin. Danke bmx
Zitat von Sipple Beitrag anzeigenVorschlag für eine kleine Logik, schnell mal hinger... und tut was es soll:
Code:#!/usr/bin/env python3 # cputemp.py import subprocess cputemp = subprocess.run(['cat', '/sys/class/thermal/thermal_zone0/temp'], stdout=subprocess.PIPE) sh.cpu.temp(round(int(cputemp.stdout.decode('utf-8')) / 1000, 1))
Error ''SmartHome' object has no attribute 'cpu'' while evaluating
bei nur
"sh.cpu.temp(round(int(cputemp.stdout.decode(' utf-8')) / 1000, 1))" --> selbes Ergebnis
Der Code von Morg liefert:
Error 'name 'subprocess' is not defined' while evaluating
" sh.hauspi.freq(frq)" --> Error 'name 'frq' is not defined' while evaluatingZuletzt geändert von Maexle; 05.09.2021, 08:14.
Kommentar
-
Zitat von Maexle Beitrag anzeigenError ''SmartHome' object has no attribute 'cpu'' while evaluating
Kommentar
-
Also ganz von vorne. Trennen wir es sauber in Einzelteile.
1. Erstelle im Verzeichnis /usr/local/smarthome/items eine Textdatei mit z.B. dem Namen "cpustuff.yaml". Sorge dafür, dass die Rechte passen, z.B. :
Code:Besitzer/Gruppe: smarthome/smarthome Berechtigungen: -rw-rw-rw-
Code:cpu: temp: type: num database: yes
4. Kopiere in diese neue Datei folgende Zeilen, EXAKT so, inkl. der Einrückungen, und speichere die Datei:
Code:#!/usr/bin/env python3 # cpustuff.py import subprocess cputemp = subprocess.run(['cat', '/sys/class/thermal/thermal_zone0/temp'], stdout=subprocess.PIPE) sh.cpu.temp(round(int(cputemp.stdout.decode('utf-8')) / 1000, 1))
Code:CPU_Stuff: filename: cpustuff.py crontab: init cycle: 300
7. Im Itembaum gibt es jetzt das Item "cpu.temp" (oder in der Langform, so wie es in Logiken referenziert wird: sh.cpu.temp).
8. Das Item zeigt die Temperatur in °C mit einer Nachkommastelle, Update alle 300s, also 5min.
9. Du willst keine Nachkommastelle? -> Ändere in /usr/local/smarthome/logics/cpustuff.py ganz unten rechts die "1" in "0".
10. Du willst eine andere Zykluszeit? -> Ändere in /usr/local/smarthome/etc/logic.yaml im Abschnitt "CPU_Stuff:" den cycle Wert nach Belieben (Sekunden).
Kommentar
-
Sipple
Vielen Dan für deine ausführliche Hilfenun zeigt das Item (und die VISU) die Temperatur an.
Was ich jedoch anmerken möchte:
Ich habe die vorherigen "Programmzeilen" (z.B. von Morg) über den Browser im Admin-Interface eingegeben; nicht über die Textdatei per SSH.
Auch deinen Code habe ich über das Admin-Interface eingegeben - um möglichst wenige Unterschiede zum vorherigen Code zu haben - als ich die "logic.yaml" über ssh mit nano logic.yaml geändert habe --> SHNG Neustart, waren keine Logiken mehr vorhanden --> ich denke nano zerschießt die Formatierung??
Da du auf die Rechte aufmerksam gemacht hast:
- die jetzt funktionierende "cpustuff.yaml" (über Admin-Interface erstellt) hat die Rechte:
"-rw-rw-rw- 1 smarthome users 70 Sep 6 09:31 cpustuff.yaml"
eine per Notepad++ erstellte:"raspi_temp.yaml" -rw-rw-r-- 1 smarthome smarthome 95 Sep 6 09:52 raspi_temp.yaml --> bearbeite ich diese Datei anschließend im Admin-Interface ändern sich die Rechte nicht.
Auf jeden Fall funktioniert es jetzt
Vielen Dank
Kommentar
-
Zitat von Morg Beitrag anzeigenIch lasse die Systemparameter CPU-Frequenz und Temperatur sowie die Uptime...
Da dachte ich mir es wäre ganz interessant die Laufzeit vom RasPi sowie letzter Start von SHNG in der Visu zu sehen.
Die Uptime wird mir gar nicht angezeigt. In der Visu NaN -- Item uptime = 0 und uptime.text "ist leer" ---> wird Item händsich gefüllt wird es angezeigt
Frequenz wird angezeigt aber nicht aktualisiert
Temperatur wird angezeigt aber nicht aktualisiert
überprüft habe ich die Werte per ssh mittels:
vcgencmd measure_temp
vcgencmd measure_clock arm
uptime
Die Logik habe ich schon mittels crontab alle 2 Minuten laufen lassen --> keine Veränderung. Wahrscheinlich ist es nur eine Kleinigkeit
SHNG gibt die Uptime ja eigentlich unter Systemeigenschaften bzw. Ressource Graphen aus --> ist es möglich diese Werte abzugreifen.
O.T. Der Wert "System Load" pendelt zwischen ~0,5 und ~ 2,0 --> was ist das überhaupt? ---- ITEM env.system.load
env.system.diskfree - nehme ich an in MegaByte?
Kommentar
-
Zitat von Maexle Beitrag anzeigenDa dachte ich mir es wäre ganz interessant die Laufzeit vom RasPi sowie letzter Start von SHNG in der Visu zu sehen.
Wenn Du wissen willst, welche widgets und items dazu verwendet werden, schau in den Quelltext von ./pages/base/smarthomeNG.html
Gruß
Wolfram
Kommentar
-
wvhn
Danke für den Hinweis.
Was mir jetzt allerdings nicht ganz klar ist...
Code:{{ basic.print('memorynow', 'env.core.memory', 'kB', 'VAR / 1024') }} ### übernommen aus der smarthomeNG.html {{ basic.print('memorynow', 'env.core.memory', 'MB', 'VAR / 1024 / 1024') }} ### um "/ 1024 erweitert um MB zu erhalten"
kB = "%01,1f kB"
MB = "%01,1f MB"
eingefügt habe.
ssh.png
visu.png
system.png
Systemload
was sagt dieser Wert aus?
Danke schon mal.
Kommentar
-
Alle Einheiten in den Sprachdateien sind klein geschrieben. Du musst also „kb“ und „mb“ reinschreiben, aber nur auf der linken Seite des Gleichheitszeichens.
Die System-items sind hier beschrieben. Es sind überwiegend Werte speziell für shNG, die sich zwangsläufig von den systemweiten Werten in der Konsole unterscheiden müssen.Zuletzt geändert von wvhn; 09.01.2022, 16:56.
Kommentar
-
Zitat von wvhn Beitrag anzeigen
1. also „kb“ und „mb“ reinschreiben,
2. Die System-items sinder Konsole unterscheiden müssen.
Danke für den Hinweis
2. habe ich jetzt auf die schnelle nicht verstanden - muss ich mir morgen mal genauer durchlesen.Zuletzt geändert von Maexle; 09.01.2022, 21:05.
Kommentar
Kommentar