Ankündigung

Einklappen
Keine Ankündigung bisher.

RasPi: (CPU) Temperatur aufzeichnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Was genau ist an Executor Plugin Bahnhof?
    Zuletzt geändert von bmx; 03.09.2021, 12:41.

    Kommentar


      #17

      Nachdem ich auf das Plugin aufmerksam gemacht worden bin. Danke
      bmx

      Zitat von Sipple Beitrag anzeigen
      Vorschlag 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))
      Ergebnis
      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 evaluating
      Zuletzt geändert von Maexle; 05.09.2021, 08:14.

      Kommentar


        #18
        Zitat von Maexle Beitrag anzeigen
        Error ''SmartHome' object has no attribute 'cpu'' while evaluating
        Das item "cpu.temp" hast Du in shNG angelegt?

        Kommentar


          #19
          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-
          2. Kopiere in diese neue Datei folgende Zeilen, EXAKT so, inkl. der Einrückungen, und speichere die Datei:

          Code:
          cpu:
              temp:
                  type: num
                  database: yes
          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.

          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))
          5. Öffne die bereits existierende Datei /usr/local/smarthome/etc/logic.yaml und füge hinzu, EXAKT so, inkl. der Einrückungen:

          Code:
          CPU_Stuff:
              filename: cpustuff.py
              crontab: init
              cycle: 300
          6. Speichere die Datei und starte SHNG neu.

          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


            #20
            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


              #21
              Das passt schon.

              Kommentar


                #22
                Zitat von Morg Beitrag anzeigen
                Ich lasse die Systemparameter CPU-Frequenz und Temperatur sowie die Uptime...
                Ich bin gerade dabei die Visu etwas aufzuhübschen, Fehler zu beseitigen etc...

                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


                  #23
                  Zitat von Maexle Beitrag anzeigen
                  Da dachte ich mir es wäre ganz interessant die Laufzeit vom RasPi sowie letzter Start von SHNG in der Visu zu sehen.
                  Die SmarthomeNG-Seite im Systemmenü von smartVISU zeigt beides an. Screenshot 2022-01-05 at 17-07-07 Forchenrain.png
                  Wenn Du wissen willst, welche widgets und items dazu verwendet werden, schau in den Quelltext von ./pages/base/smarthomeNG.html

                  Gruß
                  Wolfram

                  Kommentar


                    #24
                    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"
                    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"

                    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


                      #25
                      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


                        #26
                        Zitat von wvhn Beitrag anzeigen

                        1. also „kb“ und „mb“ reinschreiben,

                        2. Die System-items sinder Konsole unterscheiden müssen.
                        1. das Rechner immer alles so genau nehmen 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

                        Lädt...
                        X