Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Gelöst] CPU Temperatur von Proxmox VM

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Gelöst] CPU Temperatur von Proxmox VM

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
monitoringjavascriptblockly
129 Beiträge 31 Kommentatoren 27.1k Aufrufe 32 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • marcusklM marcuskl

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

    Dr. BakteriusD Online
    Dr. BakteriusD Online
    Dr. Bakterius
    Most Active
    schrieb am zuletzt editiert von
    #46

    @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 Antwort Letzte Antwort
    0
    • marcusklM Offline
      marcusklM Offline
      marcuskl
      schrieb am zuletzt editiert von
      #47

      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}
      
      

      Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

      Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

      1 Antwort Letzte Antwort
      1
      • TeNNo2k5T Offline
        TeNNo2k5T Offline
        TeNNo2k5
        schrieb am zuletzt editiert von
        #48

        Ich bin vor kurzem auf die gleiche Idee gekommen und habe es etwas simpler gelöst, ich poste es mal als alternative Lösung da es vielleicht der ein oder andere brauchen kann.

        Per Bashscript führe ich folgenden Befehl 1x pro Minute per Blockly Script aus:

        paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) \
        | column -s $'\t' -t | sed 's/\(.\)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3
        

        Ausgegeben wird nur der CPU Temperatur Wert vom Host also nicht die Werte der einzelnen Cores, dafür funktioniert der Code ootb, es müssen keine Abhängigkeiten oder Adapter installiert werden.

        Der code kann entweder direkt auf dem Proxmox Host, oder innerhalb einer VM/LXC ausgeführt werden, ich führe es auf dem Container vom iobroker aus.

        Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
        ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

        siggi85S M 2 Antworten Letzte Antwort
        1
        • Dr. BakteriusD Online
          Dr. BakteriusD Online
          Dr. Bakterius
          Most Active
          schrieb am zuletzt editiert von
          #49

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

          paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp)
          | column -s $'\t' -t | sed 's/(.)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3

          In der VM klappt das bei mir nicht (gibt keine Verzeichnisse 'thermal_zone*'). Im Host funktioniert es aber. Man sieht: viele Wege führen nach Rom. Danke für den Tipp...

          HomoranH 1 Antwort Letzte Antwort
          0
          • Dr. BakteriusD Dr. Bakterius

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

            paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp)
            | column -s $'\t' -t | sed 's/(.)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3

            In der VM klappt das bei mir nicht (gibt keine Verzeichnisse 'thermal_zone*'). Im Host funktioniert es aber. Man sieht: viele Wege führen nach Rom. Danke für den Tipp...

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #50

            @Dr-Bakterius sagte in [Gelöst] CPU Temperatur von Proxmox VM:

            gibt keine Verzeichnisse 'thermal_zone*

            Das ist das Problem!

            wenn es die gäbe würde auch der rpi2 Daten bekommen

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • TeNNo2k5T TeNNo2k5

              Ich bin vor kurzem auf die gleiche Idee gekommen und habe es etwas simpler gelöst, ich poste es mal als alternative Lösung da es vielleicht der ein oder andere brauchen kann.

              Per Bashscript führe ich folgenden Befehl 1x pro Minute per Blockly Script aus:

              paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) \
              | column -s $'\t' -t | sed 's/\(.\)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3
              

              Ausgegeben wird nur der CPU Temperatur Wert vom Host also nicht die Werte der einzelnen Cores, dafür funktioniert der Code ootb, es müssen keine Abhängigkeiten oder Adapter installiert werden.

              Der code kann entweder direkt auf dem Proxmox Host, oder innerhalb einer VM/LXC ausgeführt werden, ich führe es auf dem Container vom iobroker aus.

              siggi85S Offline
              siggi85S Offline
              siggi85
              schrieb am zuletzt editiert von
              #51

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

              Ich bin vor kurzem auf die gleiche Idee gekommen und habe es etwas simpler gelöst, ich poste es mal als alternative Lösung da es vielleicht der ein oder andere brauchen kann.

              Per Bashscript führe ich folgenden Befehl 1x pro Minute per Blockly Script aus:

              paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) \
              | column -s $'\t' -t | sed 's/\(.\)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3
              

              Ausgegeben wird nur der CPU Temperatur Wert vom Host also nicht die Werte der einzelnen Cores, dafür funktioniert der Code ootb, es müssen keine Abhängigkeiten oder Adapter installiert werden.

              Der code kann entweder direkt auf dem Proxmox Host, oder innerhalb einer VM/LXC ausgeführt werden, ich führe es auf dem Container vom iobroker aus.

              Muss dafür auch vorher was installiert werden?! Bei mir ist der Wert leer. 🤔

              1 Antwort Letzte Antwort
              0
              • TeNNo2k5T Offline
                TeNNo2k5T Offline
                TeNNo2k5
                schrieb am zuletzt editiert von
                #52

                Muss eigentlich nichts installiert werden, habe es aber nur unter Ubuntu und Proxmox (Debian) gestestet.

                Probiere mal folgenden Befehl:

                paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
                

                Dies liefert eventuell mehr Temperatur Sensor Daten, da ich ja im ersten Code Schnipssel nur nach "x86_pkg_temp" gefiltertet habe.

                Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
                ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

                1 Antwort Letzte Antwort
                1
                • M Offline
                  M Offline
                  martinschm
                  schrieb am zuletzt editiert von
                  #53

                  @TeNNo2k5 said in [Gelöst] CPU Temperatur von Proxmox VM:

                  paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/(.)..$/.\1°C/'

                  Hi,

                  hab bei mir unter der Proxmox VE lmsensors installiert. Wenn ich den Befehl auf der Shell in iobroker ausführe bekomme ich

                  acpitz        49.0°C
                  iwlwifi       50.0°C
                  x86_pkg_temp  48.0°C
                  

                  Auf der Proxmox VE wenn ich sensors aufrufe kommt

                  coretemp-isa-0000
                  Adapter: ISA adapter
                  Package id 0:  +48.0°C  (high = +105.0°C, crit = +105.0°C)
                  Core 0:        +48.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-acpi-0
                  Adapter: ACPI interface
                  temp1:        +49.0°C  (crit = +100.0°C)
                  
                  iwlwifi-virtual-0
                  Adapter: Virtual device
                  temp1:        +50.0°C
                  

                  Passt also. Vielen Dank.

                  Wie verarbeitest du die Werte dann weiter, wenn du den Befehl per Blockly ausgeführt hast ?

                  1 Antwort Letzte Antwort
                  0
                  • TeNNo2k5T Offline
                    TeNNo2k5T Offline
                    TeNNo2k5
                    schrieb am zuletzt editiert von
                    #54

                    Ich lasse den Wert einmal pro Minute in einen Datenpunkt schreiben, Änderungen werden per SQL Adapter aufgezeichnet (History geht genauso) und als letzte Spielerei werden via Grafana daraus bunte Diagramme erzeugt 😁

                    cputemp.PNG

                    cputempGraf.PNG

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                      <variables>
                        <variable type="undefined" id="schedule">schedule</variable>
                        <variable type="" id="wE[v=vc50${rU3ekzIi2">error</variable>
                        <variable type="" id="b,qov7h6f=6:IJp(0J1*">result</variable>
                      </variables>
                      <block type="create" id="DMP?Qpyuf`CO!~je[(xC" x="-437" y="88">
                        <field name="NAME">CpuTemp</field>
                        <value name="VALUE">
                          <block type="math_number" id="(uiUN}@3JGVOpjsN_JaU">
                            <field name="NUM">0</field>
                          </block>
                        </value>
                        <statement name="STATEMENT">
                          <block type="schedule_create" id="Oy[c$./2HV.XXoFa;!fI">
                            <field name="NAME">schedule</field>
                            <value name="SCHEDULE">
                              <shadow type="field_cron" id="kkT)xZ2O4|7z;AO5:..A">
                                <field name="CRON">* * * * *</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="exec" id="mrqBs..fusm}-O:*((HY">
                                <mutation with_statement="true"></mutation>
                                <field name="WITH_STATEMENT">TRUE</field>
                                <field name="LOG"></field>
                                <value name="COMMAND">
                                  <shadow type="text" id="#9FNJ?:CgTyNZ)rk3UoG">
                                    <field name="TEXT"></field>
                                  </shadow>
                                  <block type="text" id="QVsV;ybhSd6K:;+`Udt5">
                                    <field name="TEXT">/home/iobroker/CpuTemp.sh</field>
                                  </block>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="debug" id="P~R{p[+r52G*?6bd8$,0" disabled="true">
                                    <field name="Severity">log</field>
                                    <value name="TEXT">
                                      <shadow type="text" id="ID0]fZg?7VmMu}}^v{uH">
                                        <field name="TEXT">test</field>
                                      </shadow>
                                      <block type="variables_get" id="H?IydK_(km26-i=)#@G5">
                                        <field name="VAR" id="b,qov7h6f=6:IJp(0J1*" variabletype="">result</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="update" id="o^OjBm[K5za=V1O77Dn?">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">javascript.0.CpuTemp</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="convert_tonumber" id="5xC]QAX9`RmF!X[1,lX[">
                                            <value name="VALUE">
                                              <block type="variables_get" id="7+yjT7lNyzIZBF$*]UsA">
                                                <field name="VAR" id="b,qov7h6f=6:IJp(0J1*" variabletype="">result</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                      <block type="debug" id="nDlJ$tL0aEOC1%G-u#t(" x="95" y="1063">
                        <field name="Severity">error</field>
                        <value name="TEXT">
                          <shadow type="text" id="rx`G3b(6lx|%dng}iq2C">
                            <field name="TEXT">test</field>
                          </shadow>
                          <block type="variables_get" id="UC@}=b[L!4nQJQ,|P}6S">
                            <field name="VAR" id="wE[v=vc50${rU3ekzIi2" variabletype="">error</field>
                          </block>
                        </value>
                      </block>
                      <block type="debug" id="rA9Uy6:=qxtVzLx8(QvS" x="-280" y="1088">
                        <field name="Severity">log</field>
                        <value name="TEXT">
                          <shadow type="text" id="f)!0U@B:Zf}*^oHOt*mb">
                            <field name="TEXT">test</field>
                          </shadow>
                          <block type="variables_get" id="I!v]d,`EI36^,|8ryqom">
                            <field name="VAR" id="b,qov7h6f=6:IJp(0J1*" variabletype="">result</field>
                          </block>
                        </value>
                      </block>
                      <block type="debug" id="i~bO.RuBtWOLutUY1p*J" x="-252" y="1144">
                        <field name="Severity">log</field>
                        <value name="TEXT">
                          <shadow type="text" id="f)!0U@B:Zf}*^oHOt*mb">
                            <field name="TEXT">test</field>
                          </shadow>
                          <block type="variables_get" id="?IiC5BipePg(P-1tj0-W">
                            <field name="VAR" id="b,qov7h6f=6:IJp(0J1*" variabletype="">result</field>
                          </block>
                        </value>
                      </block>
                    </xml>
                    

                    Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
                    ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

                    1 Antwort Letzte Antwort
                    1
                    • M Offline
                      M Offline
                      martinschm
                      schrieb am zuletzt editiert von
                      #55

                      Sehr cool. Hab übersehen, das du beim ersten Codeschnipsel nur eine Temperatur bekommst. Die kannst du natürlich direkt weiterverarbeiten. Bei dem Code den ich ausgeführt hab, werden ja drei Temperaturen ausgegeben.

                      1 Antwort Letzte Antwort
                      1
                      • M Offline
                        M Offline
                        martinschm
                        schrieb am zuletzt editiert von
                        #56

                        Muss man den Code eigentlich in ein Skript (.sh) packen oder kann iobroker den Befehl direkt ausführen?

                        TeNNo2k5T 1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          martinschm
                          schrieb am zuletzt editiert von
                          #57

                          Bekommt man auch andere Daten wie Prozessorlast (load) raus?

                          crunchipC 1 Antwort Letzte Antwort
                          0
                          • M martinschm

                            Bekommt man auch andere Daten wie Prozessorlast (load) raus?

                            crunchipC Offline
                            crunchipC Offline
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von crunchip
                            #58

                            @martinschm ich habe z.b. Prometheus im Zusammenspiel mit Grafana und InfluxDB laufen. Somit habe ich sämtliche Servermetriken, falls du nach "mehr" suchst.
                            Sieht dann so z.b. aus
                            Screenshot_20191022-184101_ioBrokervis.jpg
                            Hier der Link
                            https://prometheus.io/docs/guides/node-exporter/

                            umgestiegen von Proxmox auf Unraid

                            M B 2 Antworten Letzte Antwort
                            0
                            • crunchipC crunchip

                              @martinschm ich habe z.b. Prometheus im Zusammenspiel mit Grafana und InfluxDB laufen. Somit habe ich sämtliche Servermetriken, falls du nach "mehr" suchst.
                              Sieht dann so z.b. aus
                              Screenshot_20191022-184101_ioBrokervis.jpg
                              Hier der Link
                              https://prometheus.io/docs/guides/node-exporter/

                              M Offline
                              M Offline
                              martinschm
                              schrieb am zuletzt editiert von
                              #59

                              @crunchip said in [Gelöst] CPU Temperatur von Proxmox VM:

                              @martinschm ich habe z.b. Prometheus im Zusammenspiel mit Grafana und InfluxDB laufen. Somit habe ich sämtliche Servermetriken, falls du nach "mehr" suchst.
                              Sieht dann so z.b. aus
                              Screenshot_20191022-184101_ioBrokervis.jpg
                              Hier der Link
                              https://prometheus.io/docs/guides/node-exporter/

                              Das sieht ja schonmal nett aus. 🙂
                              Nur wie komme ich an die Werte ran?

                              crunchipC 1 Antwort Letzte Antwort
                              0
                              • M martinschm

                                @crunchip said in [Gelöst] CPU Temperatur von Proxmox VM:

                                @martinschm ich habe z.b. Prometheus im Zusammenspiel mit Grafana und InfluxDB laufen. Somit habe ich sämtliche Servermetriken, falls du nach "mehr" suchst.
                                Sieht dann so z.b. aus
                                Screenshot_20191022-184101_ioBrokervis.jpg
                                Hier der Link
                                https://prometheus.io/docs/guides/node-exporter/

                                Das sieht ja schonmal nett aus. 🙂
                                Nur wie komme ich an die Werte ran?

                                crunchipC Offline
                                crunchipC Offline
                                crunchip
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #60

                                @martinschm wie schon geschrieben...prometheus( node exporter) grafana
                                Entweder google oder es gibt auch hier im Forum einen grösseren Beitrag

                                umgestiegen von Proxmox auf Unraid

                                1 Antwort Letzte Antwort
                                0
                                • TeNNo2k5T TeNNo2k5

                                  Ich bin vor kurzem auf die gleiche Idee gekommen und habe es etwas simpler gelöst, ich poste es mal als alternative Lösung da es vielleicht der ein oder andere brauchen kann.

                                  Per Bashscript führe ich folgenden Befehl 1x pro Minute per Blockly Script aus:

                                  paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) \
                                  | column -s $'\t' -t | sed 's/\(.\)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3
                                  

                                  Ausgegeben wird nur der CPU Temperatur Wert vom Host also nicht die Werte der einzelnen Cores, dafür funktioniert der Code ootb, es müssen keine Abhängigkeiten oder Adapter installiert werden.

                                  Der code kann entweder direkt auf dem Proxmox Host, oder innerhalb einer VM/LXC ausgeführt werden, ich führe es auf dem Container vom iobroker aus.

                                  M Offline
                                  M Offline
                                  martinschm
                                  schrieb am zuletzt editiert von
                                  #61

                                  @TeNNo2k5 said in [Gelöst] CPU Temperatur von Proxmox VM:

                                  Ich bin vor kurzem auf die gleiche Idee gekommen und habe es etwas simpler gelöst, ich poste es mal als alternative Lösung da es vielleicht der ein oder andere brauchen kann.

                                  Per Bashscript führe ich folgenden Befehl 1x pro Minute per Blockly Script aus:

                                  paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) \
                                  | column -s $'\t' -t | sed 's/\(.\)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3
                                  

                                  Ausgegeben wird nur der CPU Temperatur Wert vom Host also nicht die Werte der einzelnen Cores, dafür funktioniert der Code ootb, es müssen keine Abhängigkeiten oder Adapter installiert werden.

                                  Der code kann entweder direkt auf dem Proxmox Host, oder innerhalb einer VM/LXC ausgeführt werden, ich führe es auf dem Container vom iobroker aus.

                                  Hi,

                                  hab das Skript auch angelegt und rufe es auch über dein Blockly Skript auf. Leider bekomme ich nur null zurück. Wenn ich den Befehl auf der shell aufrufe bekomme ich einen Wert zurück.

                                  Müssen da noch irgendwelche Rechte gesetzt werden ?

                                  ciao
                                  Martin

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • M martinschm

                                    Muss man den Code eigentlich in ein Skript (.sh) packen oder kann iobroker den Befehl direkt ausführen?

                                    TeNNo2k5T Offline
                                    TeNNo2k5T Offline
                                    TeNNo2k5
                                    schrieb am zuletzt editiert von TeNNo2k5
                                    #62

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

                                    Muss man den Code eigentlich in ein Skript (.sh) packen oder kann iobroker den Befehl direkt ausführen?

                                    Wenn du eine alte iobroker Installation ohne den iobroker User hast geht das, bei der aktuellen Variante nein bzw. eingeschr, ich kenne den genauen technischen Hintergrund nicht aber vemute das die User Shell von iobroker User aus Sicherheitsgründen technisch eingeschränkt ist.

                                    Edit: Hatte da was verwechselt, grundsätzlich gehen Shell befehle via exec Block, aber dieser Code Schnipsel nicht, vermutlich werden irgendwelche Zeichen anders intepretiert.

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

                                    @TeNNo2k5 said in [Gelöst] CPU Temperatur von Proxmox VM:

                                    Ich bin vor kurzem auf die gleiche Idee gekommen und habe es etwas simpler gelöst, ich poste es mal als alternative Lösung da es vielleicht der ein oder andere brauchen kann.

                                    Per Bashscript führe ich folgenden Befehl 1x pro Minute per Blockly Script aus:

                                    paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) \
                                    | column -s $'\t' -t | sed 's/\(.\)..$/.\1/' | grep x86_pkg_temp | cut -d " " -f3
                                    

                                    Ausgegeben wird nur der CPU Temperatur Wert vom Host also nicht die Werte der einzelnen Cores, dafür funktioniert der Code ootb, es müssen keine Abhängigkeiten oder Adapter installiert werden.

                                    Der code kann entweder direkt auf dem Proxmox Host, oder innerhalb einer VM/LXC ausgeführt werden, ich führe es auf dem Container vom iobroker aus.

                                    Hi,

                                    hab das Skript auch angelegt und rufe es auch über dein Blockly Skript auf. Leider bekomme ich nur null zurück. Wenn ich den Befehl auf der shell aufrufe bekomme ich einen Wert zurück.

                                    Müssen da noch irgendwelche Rechte gesetzt werden ?

                                    ciao
                                    Martin

                                    exec im Javascript Adapter erlaubt (Instanzen -> javascript.0 -> Erlaube das Kommando "exec") ?

                                    Proxmox VE 7.4 [Shuttle DH310V2] = LXC [Ubuntu 22.04]
                                    ioBroker – Pi-hole – InfluxDB – Grafana – WireGuard – Ansible - Mosquitto - Zigbee2MQTT

                                    1 Antwort Letzte Antwort
                                    0
                                    • ScroungerS Offline
                                      ScroungerS Offline
                                      Scrounger
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #63

                                      Hier noch eine Lösung wenn ihr https aktiviert habt und mit sauberer uri encode (z.B. bei Sonderzeichen im Passwort):

                                      #!/bin/bash
                                      
                                      #ioBroker-Datenpunkt
                                      
                                      core0Dp=linkeddevices.0.System.Temperatur.Core_0
                                      core1Dp=linkeddevices.0.System.Temperatur.Core_1
                                      
                                      
                                      #ioBroker-IP:Port
                                      IPP=XXX.XXX.XXX.XXX:XXXX
                                      
                                      #Zugangsdaten
                                      user=XXXXX
                                      pw=XXXXXX
                                      
                                      #an ioBroker senden
                                      for((c=1; c<=6; c++))
                                      do
                                              #Temperaturen abfragen
                                              core0=$(sensors | grep 'Core 0:' | awk '{print $3}' | cut -c2-3)
                                              core1=$(sensors | grep 'Core 1:' | awk '{print $3}' | cut -c2-3)
                                      
                                              #an IoBroker mit simple api senden
                                              curl --insecure -G https://${IPP}/set/${core0Dp} --data-urlencode user=${user} --data-urlencode pass=${pw} --data-urlencode value=${core0} --data-urlencode "ack=true"
                                              curl --insecure -G https://${IPP}/set/${core1Dp} --data-urlencode user=${user} --data-urlencode pass=${pw} --data-urlencode value=${core1} --data-urlencode "ack=true"
                                              sleep 10
                                      done
                                      

                                      Sollte ihr ein kein self signed certificate haben, dann könnt ihr --insecure auch weglassen.

                                      <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                                      <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                                      1 Antwort Letzte Antwort
                                      2
                                      • B Offline
                                        B Offline
                                        Berchemer
                                        schrieb am zuletzt editiert von Berchemer
                                        #64

                                        Danke für die gesamte Vorarbeit, die hier von allen geleistet wurde 👍

                                        Ich habe für meinen Geschmack eine etwas andere Variante dieser Ausarbeitung umgesetzt, indem ich den SystemInfo-Adapter, welcher bei mir sowieso mitläuft genutzt habe.

                                        Unter folgendem Link steht hier im Forum, wie es im Zusammenhang mit dem Adapter und natürlich installiertem lm-sensors (Installation siehe hier weiter oben) unter Linux geht.

                                        https://forum.iobroker.net/post/430091

                                        Thomas 18147T 1 Antwort Letzte Antwort
                                        0
                                        • B Berchemer

                                          Danke für die gesamte Vorarbeit, die hier von allen geleistet wurde 👍

                                          Ich habe für meinen Geschmack eine etwas andere Variante dieser Ausarbeitung umgesetzt, indem ich den SystemInfo-Adapter, welcher bei mir sowieso mitläuft genutzt habe.

                                          Unter folgendem Link steht hier im Forum, wie es im Zusammenhang mit dem Adapter und natürlich installiertem lm-sensors (Installation siehe hier weiter oben) unter Linux geht.

                                          https://forum.iobroker.net/post/430091

                                          Thomas 18147T Offline
                                          Thomas 18147T Offline
                                          Thomas 18147
                                          schrieb am zuletzt editiert von
                                          #65

                                          Moin, hab diesen Fehler:

                                          Das auslesen des Sensors mittels : sensors | grep Package -m 1 | awk '{print $4}' klappt.
                                          In die Datei von Iobroker schreiben mittels: curl "http://192.168.2.187:8087/set/0_userdata.0.cpu?value=66" klappt auch.

                                          Aber mit dem Skript kommen diese Fehler.
                                          #!/bin/bash

                                          var=sensors | grep Package -m 1 | awk '{print $4}'
                                          curl "http://192.168.2.187:8087/set/0_userdata.0.cpu?value=$var"

                                          root@media:~# var=sensors | grep Package -m 1 | awk '{print $4}'
                                          -bash: =sensors: command not found
                                          -bash: var: command not found
                                          root@media:~# curl "http://192.168.2.187:8087/set/0_userdata.0.cpu?value=$var"
                                          {"id":"0_userdata.0.cpu","value":null,"val":null}root@media:~

                                          Dr. BakteriusD 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          645

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe