Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  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.9k

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

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

[Gelöst] CPU Temperatur von Proxmox VM

Scheduled Pinned Locked Moved Skripten / Logik
monitoringjavascriptblockly
129 Posts 31 Posters 27.4k Views 32 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • TeNNo2k5T Offline
    TeNNo2k5T Offline
    TeNNo2k5
    wrote on last edited by
    #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 :grin:

    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 Reply Last reply
    1
    • M Offline
      M Offline
      martinschm
      wrote on last edited by
      #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 Reply Last reply
      1
      • M Offline
        M Offline
        martinschm
        wrote on last edited by
        #56

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

        TeNNo2k5T 1 Reply Last reply
        0
        • M Offline
          M Offline
          martinschm
          wrote on last edited by
          #57

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

          crunchipC 1 Reply Last reply
          0
          • M martinschm

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

            crunchipC Away
            crunchipC Away
            crunchip
            Forum Testing Most Active
            wrote on last edited by 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 Replies Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              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 Away
                crunchipC Away
                crunchip
                Forum Testing Most Active
                wrote on last edited by
                #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 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by 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 Reply Last reply
                    0
                    • ScroungerS Offline
                      ScroungerS Offline
                      Scrounger
                      Developer
                      wrote on last edited by
                      #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 Reply Last reply
                      2
                      • B Offline
                        B Offline
                        Berchemer
                        wrote on last edited by Berchemer
                        #64

                        Danke für die gesamte Vorarbeit, die hier von allen geleistet wurde :+1:

                        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 Reply Last reply
                        0
                        • B Berchemer

                          Danke für die gesamte Vorarbeit, die hier von allen geleistet wurde :+1:

                          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
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          • Thomas 18147T Thomas 18147

                            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 Online
                            Dr. BakteriusD Online
                            Dr. Bakterius
                            Most Active
                            wrote on last edited by
                            #66

                            @thomas-reißmann Wenn du eine Ausgabe in eine Variable schreiben möchte sollte das so aussehen: var=$(sensors | grep Package -m 1 | awk '{print $4}')

                            Thomas 18147T 1 Reply Last reply
                            0
                            • Dr. BakteriusD Dr. Bakterius

                              @thomas-reißmann Wenn du eine Ausgabe in eine Variable schreiben möchte sollte das so aussehen: var=$(sensors | grep Package -m 1 | awk '{print $4}')

                              Thomas 18147T Offline
                              Thomas 18147T Offline
                              Thomas 18147
                              wrote on last edited by
                              #67

                              @dr-bakterius Danke, so scheint es auch zu funktionieren:

                              tempi=sensors | grep Package -m 1 | awk '{print $4}' | awk '{print substr($1, length($0)-6,2)}'

                              gibt es daran etwas auszusetzen?

                              Dr. BakteriusD 1 Reply Last reply
                              0
                              • Thomas 18147T Thomas 18147

                                @dr-bakterius Danke, so scheint es auch zu funktionieren:

                                tempi=sensors | grep Package -m 1 | awk '{print $4}' | awk '{print substr($1, length($0)-6,2)}'

                                gibt es daran etwas auszusetzen?

                                Dr. BakteriusD Online
                                Dr. BakteriusD Online
                                Dr. Bakterius
                                Most Active
                                wrote on last edited by
                                #68

                                @thomas-reißmann Wenn es funktioniert... :+1:

                                1 Reply Last reply
                                0
                                • opossumO Offline
                                  opossumO Offline
                                  opossum
                                  wrote on last edited by opossum
                                  #69

                                  Hallo,
                                  ich lese die Coretemperaturen des Proxmox-Servers mittels Script aus. Dazu muss auf dem Proxmox das Paket curl sowie das Paket lm-sensors installiert werden. Die Datenpunkte müssen in iobroker angelegt sein:

                                  63d18872-7904-4bf7-812f-c2f2d4113e20-image.png
                                  Dann das Script auf den Proxmox kopieren, ausführbar machen und einen Cronjob für den User Root angelegt.
                                  Das Script habe ich aus dem Netz, leicht abgewandelt auf meine Gegebenheiten:

                                  #!/bin/bash
                                  
                                  #ioBroker-Datenpunkt
                                  
                                  DP=javascript.0.System.Temperatur.Core_0
                                  DP1=javascript.0.System.Temperatur.Core_1
                                  DP2=javascript.0.System.Temperatur.Core_0_last_change
                                  DP3=javascript.0.System.Temperatur.Core_1_last_change
                                  DP4=javascript.0.System.Temperatur.Core_2
                                  DP5=javascript.0.System.Temperatur.Core_3
                                  DP6=javascript.0.System.Temperatur.Core_2_last_change
                                  DP7=javascript.0.System.Temperatur.Core_3_last_change
                                  DP8=javascript.0.System.Temperatur.Core_4
                                  DP9=javascript.0.System.Temperatur.Core_5
                                  DP10=javascript.0.System.Temperatur.Core_4_last_change
                                  DP11=javascript.0.System.Temperatur.Core_5_last_change
                                  
                                  #ioBroker-IP:Port
                                  IPP=192.168.1.100:8087
                                  
                                  for((c=1; c<=5; c++))
                                  
                                  do
                                  sleep 10
                                  SQL=$(sensors | grep 'Core 0:' | awk '{print $3}' | cut -c2-3)
                                  d0=`date +%Y-%m-%d@%H:%M`
                                  
                                  SQL1=$(sensors | grep 'Core 1:' | awk '{print $3}' | cut -c2-3)
                                  d1=`date +%Y-%m-%d@%H:%M`
                                  
                                  SQL2=$(sensors | grep 'Core 2:' | awk '{print $3}' | cut -c2-3)
                                  d2=`date +%Y-%m-%d@%H:%M`
                                  
                                  SQL3=$(sensors | grep 'Core 3:' | awk '{print $3}' | cut -c2-3)
                                  d3=`date +%Y-%m-%d@%H:%M`
                                  
                                  SQL4=$(sensors | grep 'Core 4:' | awk '{print $3}' | cut -c2-3)
                                  d4=`date +%Y-%m-%d@%H:%M`
                                  
                                  SQL5=$(sensors | grep 'Core 5:' | awk '{print $3}' | cut -c2-3)
                                  d5=`date +%Y-%m-%d@%H:%M`
                                  
                                  
                                  
                                  #an ioBroker senden
                                  curl http://${IPP}/set/${DP}?value={$SQL}
                                  curl http://${IPP}/set/${DP2}?value={$d0}
                                  
                                  curl http://${IPP}/set/${DP1}?value={$SQL1}
                                  curl http://${IPP}/set/${DP3}?value={$d1}
                                  
                                  curl http://${IPP}/set/${DP4}?value={$SQL2}
                                  curl http://${IPP}/set/${DP6}?value={$d2}
                                  
                                  curl http://${IPP}/set/${DP5}?value={$SQL3}
                                  curl http://${IPP}/set/${DP7}?value={$d3}
                                  
                                  curl http://${IPP}/set/${DP8}?value={$SQL4}
                                  curl http://${IPP}/set/${DP10}?value={$d4}
                                  
                                  curl http://${IPP}/set/${DP9}?value={$SQL5}
                                  curl http://${IPP}/set/${DP11}?value={$d5}
                                  done
                                  

                                  Funktioniert bei mir ohne Probleme, Daten werden in Flot geloggt, und auch auf der VIS angezeigt:
                                  0fa8ead8-77e2-4588-a381-a3b883bbd4bc-image.png

                                  Cronjob:
                                  f422cbf4-8121-4a55-ab9c-d07a30871493-image.png

                                  Diagramm:
                                  c17e6469-d848-4666-9622-daca5e538287-image.png

                                  https://schlepper-petersdorf.jimdofree.com/

                                  1 Reply Last reply
                                  3
                                  • marcusklM 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 !!!

                                    Henning HiH Offline
                                    Henning HiH Offline
                                    Henning Hi
                                    wrote on last edited by
                                    #70

                                    @marcuskl
                                    Ich habe das nun exakt (nur um meine iobroker-IP und meinen Scriptnamen verändert) wie bei dir hier nachgebaut, habe allerdings das Problem, das bei mir "Connection refused":
                                    curl: (7) Failed to connect to 192.168.178.21 port 8087: Connection refused

                                    angezeigt wird wenn ich das Script mit
                                    bash /usr/local/bin/CPUTemp.sh teste

                                    • Simple API installiert und auf Port 8087 eingestellt.
                                    • Datenpunkt unter "Objekte" für das Schreiben freigegeben

                                    Jemand einen Hinweis woran es liegen könnte?

                                    A 1 Reply Last reply
                                    0
                                    • Henning HiH Henning Hi

                                      @marcuskl
                                      Ich habe das nun exakt (nur um meine iobroker-IP und meinen Scriptnamen verändert) wie bei dir hier nachgebaut, habe allerdings das Problem, das bei mir "Connection refused":
                                      curl: (7) Failed to connect to 192.168.178.21 port 8087: Connection refused

                                      angezeigt wird wenn ich das Script mit
                                      bash /usr/local/bin/CPUTemp.sh teste

                                      • Simple API installiert und auf Port 8087 eingestellt.
                                      • Datenpunkt unter "Objekte" für das Schreiben freigegeben

                                      Jemand einen Hinweis woran es liegen könnte?

                                      A Offline
                                      A Offline
                                      Ahnungsbefreit
                                      wrote on last edited by
                                      #71

                                      @henning-hi & @opossum warum nutzt Ihr nicht einfach den ProxMox Adapter? Der liefert das ohne Aufwand direkt...

                                      Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                                      Henning HiH 1 Reply Last reply
                                      0
                                      • A Ahnungsbefreit

                                        @henning-hi & @opossum warum nutzt Ihr nicht einfach den ProxMox Adapter? Der liefert das ohne Aufwand direkt...

                                        Henning HiH Offline
                                        Henning HiH Offline
                                        Henning Hi
                                        wrote on last edited by
                                        #72

                                        @ahnungsbefreit
                                        Läuft in einer VM auf Nuc in Proxmox.
                                        Habe den Fehler aber gerade gefunden, hatte nicht die IP von ioBroker eingestellt, sondern vom Proxmox-Host :)

                                        A 1 Reply Last reply
                                        0
                                        • Henning HiH Henning Hi

                                          @ahnungsbefreit
                                          Läuft in einer VM auf Nuc in Proxmox.
                                          Habe den Fehler aber gerade gefunden, hatte nicht die IP von ioBroker eingestellt, sondern vom Proxmox-Host :)

                                          A Offline
                                          A Offline
                                          Ahnungsbefreit
                                          wrote on last edited by
                                          #73

                                          @henning-hi Ah sorry,Ihr habt natürlich Recht, die CPU Temperatur liefert der Proxmox Adapter nicht, nur CPU Auslastung, memory etc

                                          Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          629

                                          Online

                                          32.4k

                                          Users

                                          81.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe