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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Gelöst] CPU Temperatur von Proxmox VM

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • marcuskl
                                            marcuskl @BBTown last edited by

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

                                            @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

                                            Ok danke, dass wusste ich nicht.

                                            BBTown 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            558
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript monitoring
                                            31
                                            129
                                            19138
                                            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