Ankündigung

Einklappen
Keine Ankündigung bisher.

RPI Temperatur in Item?

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

    RPI Temperatur in Item?

    Kann mir jemand helfen wie ich die Temperatur meines RPI4 in ein Item bekomme?

    Der Kommandozeilen Aufruf ist:
    Code:
    vcgencmd measure_temp
    Grüße, Marc

    #2
    Ich gehe davon aus, dass das nicht der Raspi ist, auf dem shNG läuft, oder?

    Wenn es unbedingt die Kommandozeile und quick&dirty sein muss, könntest Du wohl ein bisschen mit netcat frickeln. Also die Ausgabe in ein UDP- oder TCP-Packet "pipen", das auf der shNG-Seite per Network-Plugin empfangen wird. Ungefähr so (ungetestet):

    Code:
    vcgencmd measure_temp | nc -4u -q1 10.10.10.10 2423
    Das Kommando sendet die Ausgabe auf per IP4_UDP an die 10.10.10.10 (=shNG) auf Port 2423.

    Wie der Empfang durch shNG aussehen könnte, hab ich vor längerem mal hier beschrieben und auch tiefgehend mit Psilo hier diskutiert. Läuft hier nach wie vor so.

    Aber denk dran, Kommandozeile wird immer 'ne Krücke sein.

    /tom
    Zuletzt geändert von Tom Bombadil; 30.01.2020, 23:07.

    Kommentar


      #3
      Hallo Tom.
      Danke für den Ansatz!
      Es ist aber tatsächlich die Temperatur auf dem RPI, auf dem auch SHNG läuft.
      Hätte ich dort noch eine „direktere“ Möglichkeit die Temperatur zu erfassen?

      Grüße, Marc

      Kommentar


        #4
        Sowas geht auch:
        Code:
        cat /sys/class/thermal/thermal_zone*/temp
        in dem Fall könnte man das Lesen auf solche Dateien auch via Python machen und käme ohne Skript aus.

        Quelle

        Kommentar


          #5
          Über Python fallen mir mehrere Varianten ein:
          • Entweder wie von Bernd geschrieben die Dateien im angegebenen Verzeichnis selbst parsen.
          • Oder vcgencmd aus Python heraus ausführen:
          Code:
          [INDENT]import os
          import time
          
          def measure_temp():
          temp = os.popen("vcgencmd measure_temp").readline()
          return (temp.replace("temp=",""))
          
          while True:
          print(measure_temp())
          time.sleep(1)[/INDENT]
          • Oder gleich psutil nehmen, da gibt's Infos ohne Ende (wär vielleicht sogar was, um die schon bestehenden Systemangaben im Admin-Interface zu erweitern).

          /tom

          Kommentar


            #6
            ihr könnt auch mal hier schauen.

            Kommentar


              #7
              Hallo, DANKE für vielen Ansätze!

              Ich habe es jetzt auf die Schnelle erst einmal so in einer Logic gelöst:

              Code:
              #!/usr/bin/env python3
              # systemdaten.py
              
              import os
              
              def measure_temp():
              temp = os.popen("vcgencmd measure_temp").readline()
              temp = temp.replace("temp=","")
              temp = temp.replace("'C","")
              return (temp)
              
              sh.GLOBAL.system.coretemp(measure_temp())
              Die anderen Ansätze gucken ich mir bei Gelegenheit aber auch noch mal an. Am besten gefällt mir da wohl psutil.

              Grüße, Marc

              Kommentar


                #8
                Hier mal mein Ansatz aus 2016 zur Info.

                Kommentar

                Lädt...
                X