Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst] CPU Temperatur von Proxmox VM

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst] CPU Temperatur von Proxmox VM

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dr. Bakterius
      Dr. Bakterius Most Active @marcuskl last edited by Dr. Bakterius

      @marcuskl Ich glaube, dass bei dir der Temperaturwert nicht richtig beschnitten wird. Wenn du

      sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
      

      eingibst, bekommst du

      49
      /A
      

      oder?

      Da sollte aber nur

      49
      

      stehen (bzw. die gerade aktuelle Temperatur.

      Poste doch mal bitte was bei dir

      sensors
      

      auswirft. Dann kann man sich herantasten. 😉

      Bei mir steht dann:

      acpitz-virtual-0
      Adapter: Virtual device
      temp1:        +54.0°C  (crit = +100.0°C)
      
      coretemp-isa-0000
      Adapter: ISA adapter
      Package id 0:  +54.0°C  (high = +105.0°C, crit = +105.0°C)
      Core 0:        +54.0°C  (high = +105.0°C, crit = +105.0°C)
      Core 1:        +54.0°C  (high = +105.0°C, crit = +105.0°C)
      Core 2:        +53.0°C  (high = +105.0°C, crit = +105.0°C)
      Core 3:        +53.0°C  (high = +105.0°C, crit = +105.0°C)
      

      Und die ersten 54 in der Zeile 'temp1:' will ich haben. Wenn das bei dir anders aussieht, muss man die folgenden Befehle anpassen.

      Wenn ich das Schritt für Schritt ausführe sieht das z.B. so aus:

      root@proxmox:~# sensors | grep 'temp1:'
      temp1:        +51.0°C  (crit = +100.0°C)
      root@proxmox:~# sensors | grep 'temp1:' | awk '{print $2}'
      +52.0°C
      root@proxmox:~# sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
      51
      
      
      marcuskl 1 Reply Last reply Reply Quote 1
      • marcuskl
        marcuskl @Dr. Bakterius last edited by

        @Dr-Bakterius sagte in CPU Temperatur von Proxmox VM:

        @marcuskl Ich glaube, dass bei dir der Temperaturwert nicht richtig beschnitten wird. Wenn du

        sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
        

        eingibst, bekommst du

        49
        /A
        

        oder?

        Da sollte aber nur

        49
        

        stehen (bzw. die gerade aktuelle Temperatur.

        Poste doch mal bitte was bei dir

        sensors
        

        auswirft. Dann kann man sich herantasten. 😉

        Bei mir steht dann:

        acpitz-virtual-0
        Adapter: Virtual device
        temp1:        +54.0°C  (crit = +100.0°C)
        
        coretemp-isa-0000
        Adapter: ISA adapter
        Package id 0:  +54.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 0:        +54.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 1:        +54.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 2:        +53.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 3:        +53.0°C  (high = +105.0°C, crit = +105.0°C)
        

        Und die ersten 54 in der Zeile 'temp1:' will ich haben. Wenn das bei dir anders aussieht, muss man die folgenden Befehle anpassen.

        Ich habe jz mal curl -g probiert, da gibg es, aber hat es falsch eingesetzt mit einer Klammer davor.

        root@pve:/usr/local/bin# bash cpu_temp_send_iobroker.sh
        {"id":"info.0.sysinfo.cpu.temperature.main","value":"{49","val":"{49"}curl: (3) <url> malformed
        root@pve:/usr/local/bin# sensors
        coretemp-isa-0000
        Adapter: ISA adapter
        Package id 0:  +49.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 0:        +49.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 1:        +48.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 2:        +47.0°C  (high = +105.0°C, crit = +105.0°C)
        Core 3:        +47.0°C  (high = +105.0°C, crit = +105.0°C)
        
        acpitz-virtual-0
        Adapter: Virtual device
        temp1:        +50.0°C  (crit = +100.0°C)
        
        iwlwifi-virtual-0
        Adapter: Virtual device
        temp1:            N/A
        
        root@pve:/usr/local/bin#
        

        Hier noch die Daten von den Sensoren

        Dr. Bakterius 2 Replies Last reply Reply Quote 0
        • Dr. Bakterius
          Dr. Bakterius Most Active @marcuskl last edited by Dr. Bakterius

          @marcuskl Ich habe meinen vorigen Beitrag noch ergänzt. Vielleicht probierst du auch:

          root@proxmox:~# sensors | grep 'temp1:'
          temp1:        +51.0°C  (crit = +100.0°C)
          root@proxmox:~# sensors | grep 'temp1:' | awk '{print $2}'
          +52.0°C
          root@proxmox:~# sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
          51
          root@proxmox:~#
          
          
          marcuskl 1 Reply Last reply Reply Quote 0
          • marcuskl
            marcuskl @Dr. Bakterius last edited by

            @Dr-Bakterius sagte in CPU Temperatur von Proxmox VM:

            @marcuskl Ich habe meinen vorigen Beitrag noch ergänzt. Vielleicht probierst du auch:

            root@proxmox:~# sensors | grep 'temp1:'
            temp1:        +51.0°C  (crit = +100.0°C)
            root@proxmox:~# sensors | grep 'temp1:' | awk '{print $2}'
            +52.0°C
            root@proxmox:~# sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
            51
            root@proxmox:~#
            
            
            root@pve:/usr/local/bin# sensors | grep 'temp1:'
            temp1:        +48.0°C  (crit = +100.0°C)         temp1:            N/A
            root@pve:/usr/local/bin# sensors | grep 'temp1:' | awk '{print $2}'
            +49.0°C
            N/A
            root@pve:/usr/local/bin# sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
            49
            /A
            

            So bei mir

            Dr. Bakterius 1 Reply Last reply Reply Quote 0
            • Dr. Bakterius
              Dr. Bakterius Most Active @marcuskl last edited by Dr. Bakterius

              @marcuskl sagte in CPU Temperatur von Proxmox VM:

              curl -g

              Ich glaube ich habe den Fehler gefunden! In der 'curl'-Zeile ist eine Klammer an der falschen Stelle. Versuch mal folgenden Code:

              #!/bin/bash
              
              #ioBroker-Datenpunkt
              DP=info.0.sysinfo.cpu.temperature.main
              
              #ioBroker-IP:Port
              IPP=192.168.0.195:8081
              
              #Systemtemperatur abfragen
              SQL=$(sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3)
              
              #an ioBroker senden
              curl http://${IPP}/set/${DP}?value=${SQL}
              

              Interessant, dass es bei mir trotzdem funktioniert. Bei Aufruf der Bash-Datei erhalte ich:

              {"id":"info.0.sysinfo.cpu.temperature.main","value":51,"val":51}
              
              C 1 Reply Last reply Reply Quote 0
              • Dr. Bakterius
                Dr. Bakterius Most Active @marcuskl last edited by

                @marcuskl Ach ja, du hast ja zwei Zeilen mit "temp1:". Du kannst statt 'temp1:' auch mal 'Package id 0:' versuchen, dann solltest du nur eine Zeile erhalten.

                liv-in-sky marcuskl 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Dr. Bakterius last edited by

                  @Dr-Bakterius

                  @marcuskl sagte in CPU Temperatur von Proxmox VM:

                  sensors | grep 'temp1:' | awk '{print $2}' | cut -c2-3
                  wenn du 2 zeilen mit temp1 hast ginge auch

                  sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3
                  1 Reply Last reply Reply Quote 0
                  • marcuskl
                    marcuskl @Dr. Bakterius last edited by

                    @Dr-Bakterius sagte in CPU Temperatur von Proxmox VM:

                    @marcuskl Ach ja, du hast ja zwei Zeilen mit "temp1:". Du kannst statt 'temp1:' auch mal 'Package id 0:' versuchen, dann solltest du nur eine Zeile erhalten.

                    root@pve:/usr/local/bin# bash cpu_temp_send_iobroker.sh
                    {"id":"info.0.sysinfo.cpu.temperature.main","valuroot@pve:/usr/local/bin# bash cpu_temp_send_iobroker.sh
                    

                    Erstmal mit der Verbesserung funktioniert es auch ohne -g

                    Aber es ändert jz den wert auf "d" wenn ich package id 0 nehme

                    Dr. Bakterius 1 Reply Last reply Reply Quote 0
                    • Dr. Bakterius
                      Dr. Bakterius Most Active @marcuskl last edited by Dr. Bakterius

                      @marcuskl Dann nimmt er "d " von "package id 0". Versuch es mit dem Befehl von @liv-in-sky oder mit '{print $4}' statt '{print $2}'.

                      marcuskl 1 Reply Last reply Reply Quote 0
                      • marcuskl
                        marcuskl @Dr. Bakterius last edited by

                        @Dr-Bakterius sagte in CPU Temperatur von Proxmox VM:

                        @marcuskl Dann nimmt er "d " von "package id 0". Versuch es mit dem Befehl von @liv-in-sky oder mit '{print $4}' statt '{print $2}'.

                        root@pve:/usr/local/bin# bash cpu_temp_send_iobroker.sh
                        {"id":"info.0.sysinfo.cpu.temperature.main","value":48,"val":48}root@pve:/usr/local/bin#
                        

                        Ja funktioniert.
                        Super danke euch!!!

                        1 Reply Last reply Reply Quote 0
                        • marcuskl
                          marcuskl last edited by

                          Für alle nochmal das verbesserte Skript:

                          #!/bin/bash
                          
                          #ioBroker-Datenpunkt
                          DP=info.0.sysinfo.cpu.temperature.main
                          
                          #ioBroker-IP:Port
                          IPP=192.168.0.195:8087 
                          
                          #Systemtemperatur abfragen
                          SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                          
                          
                          #an ioBroker senden
                          sleep 10
                          SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                          curl http://${IPP}/set/${DP}?value=${SQL}
                          sleep 10
                          SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                          curl http://${IPP}/set/${DP}?value=${SQL}
                          sleep 10
                          SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                          curl http://${IPP}/set/${DP}?value=${SQL}
                          sleep 10
                          SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                          curl http://${IPP}/set/${DP}?value=${SQL}
                          sleep 10
                          SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                          curl http://${IPP}/set/${DP}?value=${SQL}
                          
                          Dr. Bakterius 1 Reply Last reply Reply Quote 0
                          • Dr. Bakterius
                            Dr. Bakterius Most Active @marcuskl last edited by Dr. Bakterius

                            @marcuskl Freut mich! Dann markiere den Thread bitte noch als "gelöst".

                            Und noch was: Du hast den ersten 'curl'-Befehl vergessen. Also direkt vor 'sleep 10'.

                            1 Reply Last reply Reply Quote 0
                            • marcuskl
                              marcuskl last edited by

                              Der Cronjob will aber nicht laufen

                              Habe einfach bei

                              Crontab -e

                              */1 * * * * /usr/local/bin/cpu_temp_send_iobroker.sh

                              Eingefügt, aber macht nichts.
                              Vergesse ich irgentwas ?

                              1 Reply Last reply Reply Quote 0
                              • marcuskl
                                marcuskl last edited by marcuskl

                                So jetzt aber.

                                Wie ich vorgegangen bin:

                                1. Unter Verzeichnis
                                cd /usr/local/bin/ 
                                

                                gegangen

                                1. Mit Nano Skript angelegt
                                nano cpu_temp_send_iobroker.sh
                                

                                Im Editor folgenden Skript eingefügt:

                                #!/bin/bash
                                
                                #ioBroker-Datenpunkt
                                DP=info.0.sysinfo.cpu.temperature.main
                                
                                #ioBroker-IP:Port
                                IPP=192.168.0.195:8087 
                                
                                #Systemtemperatur abfragen
                                SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                
                                
                                #an ioBroker senden
                                curl http://${IPP}/set/${DP}?value={$SQL} 
                                
                                #Sendet alle 10 Sekunden an iobroker 
                                sleep 10
                                SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                curl http://${IPP}/set/${DP}?value=${SQL}
                                sleep 10
                                SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                curl http://${IPP}/set/${DP}?value=${SQL}
                                sleep 10
                                SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                curl http://${IPP}/set/${DP}?value=${SQL}
                                sleep 10
                                SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                curl http://${IPP}/set/${DP}?value=${SQL}
                                sleep 10
                                SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                curl http://${IPP}/set/${DP}?value=${SQL}
                                

                                Strg+X gespeichert.
                                (Achtung!!! Simple API Adapter erforderlich und dann den Port vom Adapter eintragen)

                                Datenpunkt vom Info Adapter zum Schreiben freigegeben

                                1. Getestet mit:
                                bash /usr/local/bin/cpu_temp_send_iobroker.sh
                                

                                (Ich musste vorher noch Curl installieren)

                                1. Crontab angelegt:
                                crontab -e
                                

                                Ganz unten Zeile eingefügt:

                                * * * * * bash /usr/local/bin/cpu_temp_send_iobroker.sh
                                

                                Fertig, Danke an alle für sie Hilfe !!!

                                liv-in-sky Henning Hi 2 Replies Last reply Reply Quote 1
                                • Homoran
                                  Homoran Global Moderator Administrators @Dr. Bakterius last edited by

                                  @Dr-Bakterius sagte in CPU Temperatur von Proxmox VM:

                                  @Homoran Von dir hätte ich schon erwartet zu wissen was der curl-Befehl macht.

                                  So kann man sich täuschen.
                                  Auch wenn man es nicht merkt (Danke dafür!) , ich bin der Quoten-Noob im Team

                                  1 Reply Last reply Reply Quote 1
                                  • liv-in-sky
                                    liv-in-sky @marcuskl last edited by

                                    @marcuskl sagte in [Gelöst] CPU Temperatur von Proxmox VM:

                                    Strg+X gespeichert.
                                    (Achtung!!! Simple API Adapter erforderlich und dann den Port vom Adapter eintragen)

                                    du hast noch das ausführbar machen für das script vergessen

                                    chmod +x cpu_temp_send_iobroker.sh
                                    
                                    marcuskl 1 Reply Last reply Reply Quote 1
                                    • marcuskl
                                      marcuskl @liv-in-sky last edited by

                                      @liv-in-sky sagte in [Gelöst] CPU Temperatur von Proxmox VM:

                                      @marcuskl sagte in [Gelöst] CPU Temperatur von Proxmox VM:

                                      Strg+X gespeichert.
                                      (Achtung!!! Simple API Adapter erforderlich und dann den Port vom Adapter eintragen)

                                      du hast noch das ausführbar machen für das script vergessen

                                      chmod +x cpu_temp_send_iobroker.sh
                                      

                                      Das habe ich aber nicht gemacht.
                                      Wofür ist das ?

                                      BBTown 1 Reply Last reply Reply Quote 0
                                      • BBTown
                                        BBTown @marcuskl last edited by BBTown

                                        @marcuskl damit wird eine Datei unter Linux "ausführbar"
                                        wenn Du in einem Linux-Verzeichnis den Befehle

                                        ls
                                        

                                        eingibst, dann bekommst Du eine Liste der Dateien und Unterverzeichnisse angezeigt

                                        Wenn Du den Befehl allerdings als

                                        ls -la
                                        

                                        eingibst, dann werden dir auch die "Berechtigungen" (lesen, schreiben, ausführen) angezeigt.

                                        Google mal nach "chmod" oder "Linux chmod"

                                        marcuskl 1 Reply Last reply Reply Quote 0
                                        • marcuskl
                                          marcuskl @BBTown last edited by

                                          @BBTown sagte in [Gelöst] CPU Temperatur von Proxmox VM:

                                          @marcuskl damit wird eine Datei unter Linux "ausführbar"
                                          wenn Du in einem Linux-Verzeichnis den Befehle

                                          ls
                                          

                                          eingibst, dann bekommst Due eine Liste der Dateien und Unterverzeichnisse angezeigt

                                          Wenn Du den Befehl allerdings als

                                          ls -la
                                          

                                          eingibst, dann werden dir auch die "Berechtigungen" (lesen, schreiben, ausführen) angezeigt.

                                          Google mal nach "chmod" oder "Linux chmod"

                                          Kann des sein, dass deswegen nicht gleich der Cronjob funktioniert hat ?
                                          Ich habe jz im Cron "Bash" mit in den Cron geschrieben, dann ging es erst.

                                          BBTown Dr. Bakterius 2 Replies Last reply Reply Quote 0
                                          • BBTown
                                            BBTown @marcuskl last edited by BBTown

                                            @marcuskl sagte in [Gelöst] CPU Temperatur von Proxmox VM:

                                            Kann des sein, dass deswegen nicht gleich der Cronjob funktioniert hat ?
                                            Ich habe jz im Cron "Bash" mit in den Cron geschrieben, dann ging es erst.

                                            Schau mal hier
                                            f235e59a-ce4f-4605-8191-378e5b0512ba-grafik.png

                                            marcuskl 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript monitoring
                                            31
                                            129
                                            20229
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo