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
ErgebnisZitat 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
-
Das item "cpu.temp" hast Du in shNG angelegt?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. :
2. Kopiere in diese neue Datei folgende Zeilen, EXAKT so, inkl. der Einrückungen, und speichere die Datei:Code:Besitzer/Gruppe: smarthome/smarthome Berechtigungen: -rw-rw-rw-
3. Erstelle im Verzeichnis /usr/local/smarthome/logics eine Textdatei mit z.B. dem Namen "cpustuff.py". Sorge wieder dafür, dass die Rechte passen, Siehe 1.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:
5. Öffne die bereits existierende Datei /usr/local/smarthome/etc/logic.yaml und füge hinzu, EXAKT so, inkl. der Einrückungen: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))
6. Speichere die Datei und starte SHNG neu.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 Hilfe

nun 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
-
Ich bin gerade dabei die Visu etwas aufzuhübschen, Fehler zu beseitigen etc...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
-
Die SmarthomeNG-Seite im Systemmenü von smartVISU zeigt beides an. Screenshot 2022-01-05 at 17-07-07 Forchenrain.pngZitat 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...
jedoch weichen die Werte um eine Kommastelle zur SSH-Konsole ab (siehe Bilder) Testweise habe ich bei MB "VAR / 1024 / 102.4" versucht dann passt das Komma. Allerdings werden viele Nachkommastellen angezeigt obwohl ich in der "de.ini"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
-
1. das Rechner immer alles so genau nehmen müssenZitat 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