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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [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 @lobomau last edited by

      @lobomau Vorher mal

      apt-get update
      

      gemacht? Ich habe unter 'root' dann mit

      apt-get install lm-sensors
      

      das Paket installiert bekommen.

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

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

        @marcuskl Probier doch bitte mal folgendes Skript:

        #!/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}
        

        Das ist jetzt kürzer und sollte nur einmal den Wert übermitteln. Ich habe ein paar Anmerkungen hinter den Befehlen entfernt - vielleicht liegt es daran? Wenn das klappt, kannst du ja die Wiederholungen hinzufügen.

        Immernoch

        
        Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
        permitted by applicable law.
        Last login: Thu Jul  4 21:47:43 2019 from 192.168.0.28
        root@pve:~# cd /usr/local/bin
        root@pve:/usr/local/bin# bash cpu_temp_send_iobroker.sh
        curl: (3) [globbing] unmatched brace in column 73curl: (3) [globbing] unmatched close brace/bracket in column 3
        root@pve:/usr/local/bin#
        

        Stimmt vllt der Pfad nicht ? Oder muss ich was noch Installieren ?
        Was heißt der Fehler überhaupt?

        Dr. Bakterius 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            856
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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