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 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
                                      • BBTown
                                        BBTown @marcuskl last edited by

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

                                        Ok danke, dass wusste ich nicht.

                                        Das ist ja auch nicht schlimm, dafür ist ja ein Forum da 😉

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

                                          @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.

                                          Richtig, entweder das Skript mit Bash aufrufen oder direkt ausführbar machen. Führt beides ans Ziel.

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

                                            Ich habe mir jetzt noch ein Datenpunkt hinzugefügt, das mir die letzte Aktualisierung (Datum und Uhrzeit) anzeigt., damit ich weiß das die Werte Up to Date sind.
                                            Hier das Skript

                                            #!/bin/bash
                                            
                                            #ioBroker-Datenpunkt temperatur
                                            DP=info.0.sysinfo.cpu.temperature.main
                                            
                                            #ioBroker Datenpunkt Zeit
                                            DP1=info.0.sysinfo.cpu.temperature.last_change
                                            
                                            #ioBroker-IP:Port
                                            IPP=192.168.0.195:8087 
                                            
                                            #Systemtemperatur abfragen
                                            SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                            
                                            #Zeit abfragen
                                            d=`date +%Y-%m-%d@%H:%M`
                                            
                                            
                                            #an ioBroker senden
                                            curl http://${IPP}/set/${DP}?value={$SQL}
                                            curl http://${IPP}/set/${DP1}?value={$d}
                                            
                                            
                                            #alle 10 sek senden
                                            sleep 10
                                            SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                            d=`date +%Y-%m-%d@%H:%M`
                                            curl http://${IPP}/set/${DP}?value=${SQL}
                                            curl http://${IPP}/set/${DP1}?value={$d}
                                            sleep 10
                                            SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                            d=`date +%Y-%m-%d@%H:%M`
                                            curl http://${IPP}/set/${DP}?value=${SQL}
                                            curl http://${IPP}/set/${DP1}?value={$d}
                                            sleep 10
                                            SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                            d=`date +%Y-%m-%d@%H:%M`
                                            curl http://${IPP}/set/${DP}?value=${SQL}
                                            curl http://${IPP}/set/${DP1}?value={$d}
                                            sleep 10
                                            SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                            d=`date +%Y-%m-%d@%H:%M`
                                            curl http://${IPP}/set/${DP}?value=${SQL}
                                            curl http://${IPP}/set/${DP1}?value={$d}
                                            sleep 10
                                            SQL=$(sensors | grep 'temp1:' | awk 'NR==1 {print $2}' | cut -c2-3) 
                                            d=`date +%Y-%m-%d@%H:%M`
                                            curl http://${IPP}/set/${DP}?value=${SQL}
                                            curl http://${IPP}/set/${DP1}?value={$d}
                                            
                                            
                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            887
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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