Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Gelöst CPU & HDD Temp werte vom UbuntuNAS an IOBroker geben

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Gelöst CPU & HDD Temp werte vom UbuntuNAS an IOBroker geben

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rebel85 @liv-in-sky last edited by

      @liv-in-sky sagte in vom IO-Broker aus die CPU & HDD Temp Abfragen vom Ubuntu NAS:

      @rebel85 mein setting für simple api instanz: port ist wichtig, da der für den curl befehl gebraucht wird

      Image 4.png

      dieser adpter/instanz ermöglicht es, mit curl die datenpunkte zu setzen - egal von wo

      • einem anderen linux rechner oder
      • auch mit tools vom handy (tasker) oder
      • von einem batchjob auf einem windows rechner

      hab ich mal jetzt so angepasst, und ja ist installiert und grün

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @rebel85 last edited by

        @rebel85 am besten ist es den befehl erstmal von hand auszuführen auf einem terminal

        und dann schauen ob fehler kommt und/oder ein datenpunkt gesetzt wird

        auf dem terminal folgenden befehl ausführen

        curl "http://192.168.178.59:8087/set/controll-own.0.mount.CPUTemp?value=55"
        

        du musst aber die ip adresse (192.168.178.59) angleichen und den datenpunkt (controll-own.0.mount.CPUTemp) von dir nehmen - evtl erstmal anlegen unter 0_userdata.0.xxx

        R 2 Replies Last reply Reply Quote 1
        • R
          rebel85 @liv-in-sky last edited by

          @liv-in-sky
          wie lege ich den daten punkt an?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @rebel85 last edited by paul53

            @rebel85 sagte:

            wie lege ich den daten punkt an?

            Siehe Doku, Punkt 8.

            neuesObjekt.JPG

            R 1 Reply Last reply Reply Quote 1
            • R
              rebel85 @paul53 last edited by

              @paul53
              ah ich danchte auf dem ubuntu nas ein datenpunkt anlegen.
              🙂

              1 Reply Last reply Reply Quote 0
              • R
                rebel85 @liv-in-sky last edited by

                @liv-in-sky sagte in vom IO-Broker aus die CPU & HDD Temp Abfragen vom Ubuntu NAS:

                @rebel85 am besten ist es den befehl erstmal von hand auszuführen auf einem terminal

                und dann schauen ob fehler kommt und/oder ein datenpunkt gesetzt wird

                auf dem terminal folgenden befehl ausführen

                curl "http://192.168.178.59:8087/set/controll-own.0.mount.CPUTemp?value=55"
                

                du musst aber die ip adresse (192.168.178.59) angleichen und den datenpunkt (controll-own.0.mount.CPUTemp) von dir nehmen - evtl erstmal anlegen unter 0_userdata.0.xxx

                curl "http://192.168.178.42:8087/set/0_userdata.0.CPU_Temp_NAS?value=55"
                das funktioniert. hab im iobroker den wert 55

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @rebel85 last edited by

                  @rebel85 ok - dann brauchen wir noch vmstat

                  probier mal auf der konsole des ubuntu:

                  vmstat 1 15 | awk 'NR==10{print 100-$15}'
                  

                  kommt da was ?

                  und was wir noch bauchen ist der richtige befehl für die temp
                  auf konsole testen:

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

                  die temp wird meist anders je hardware ausgegeben daher kann es sein, dass nichts richtiges kommt -
                  deshalb müßte der befehl für dich angeglichen werden

                  kannst du bitte den befehl "sensors" ausgeben und ihn posten - wir könnten es auch über anydesk zusammen machen

                  R 1 Reply Last reply Reply Quote 1
                  • R
                    rebel85 @liv-in-sky last edited by rebel85

                    @liv-in-sky sagte in vom IO-Broker aus die CPU & HDD Temp Abfragen vom Ubuntu NAS:

                    @rebel85 ok - dann brauchen wir noch vmstat

                    probier mal auf der konsole des ubuntu:

                    vmstat 1 15 | awk 'NR==10{print 100-$15}'
                    

                    kommt da was ?

                    da kommt nach ein paar sekunden nur 0

                    und was wir noch bauchen ist der richtige befehl für die temp
                    auf konsole testen:

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

                    die temp wird meist anders je hardware ausgegeben daher kann es sein, dass nichts richtiges kommt -
                    deshalb müßte der befehl für dich angeglichen werden

                    bekomme da nur +3

                    sensors :
                    acpitz-virtual-0
                    Adapter: Virtual device
                    temp1: +36.0°C (crit = +95.0°C)

                    coretemp-isa-0000
                    Adapter: ISA adapter
                    Package id 0: +36.0°C (high = +105.0°C, crit = +105.0°C)
                    Core 0: +35.0°C (high = +105.0°C, crit = +105.0°C)
                    Core 1: +37.0°C (high = +105.0°C, crit = +105.0°C)
                    Core 2: +37.0°C (high = +105.0°C, crit = +105.0°C)
                    Core 3: +37.0°C (high = +105.0°C, crit = +105.0°C)

                    mit

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

                    bekomme ich +36.0°C ausgegeben.
                    brauchen tuhe ich aber bestimmt Package id 0: +36.0°C

                    kannst du bitte den befehl "sensors" ausgeben und ihn posten - wir könnten es auch über anydesk zusammen machen

                    was ist anydesk schon wieder? bin selbe noch am anfang um mich mit den ganzen sachen vertraut zu machen und schaue viele Tutorials und how-to videos oder probiere auch mal paar befehls abwandlungen aus. bitte daher um verständnis wenn ich nciht gleich alles richtig verstehe
                    danke

                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @rebel85 last edited by liv-in-sky

                      @rebel85 ist schon mal gut, dass du bei temp etwas bekommst - da müssen nur noch die °C und das + weg und die genaue position eingestellt werden

                      was passiert wenbn du nur

                      vmstat 1 15
                      

                      eingibst - das dauert 15 sekunden bis das ergebnis kommt

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        rebel85 @liv-in-sky last edited by rebel85

                        @liv-in-sky sagte in vom IO-Broker aus die CPU & HDD Temp Abfragen vom Ubuntu NAS:

                        vmstat 1 15

                        XXXXXX@anubis-nas:~$ vmstat 1 15
                        procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
                        r b swpd free buff cache si so bi bo in cs us sy id wa st
                        0 0 0 4991568 594324 1496536 0 0 1 5 22 22 0 0 100 0 0
                        0 0 0 4991700 594324 1496536 0 0 0 0 67 149 0 0 100 0 0
                        0 0 0 4991700 594324 1496536 0 0 0 0 57 149 0 0 100 0 0
                        0 0 0 4991700 594328 1496532 0 0 0 112 153 310 0 0 99 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 56 133 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 47 110 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 61 134 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 59 122 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 71 149 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 43 100 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 61 151 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 62 136 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 0 86 199 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 52 148 294 0 0 100 0 0
                        0 0 0 4991700 594328 1496552 0 0 0 56 226 469 0 0 100 0 0

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @rebel85 last edited by

                          @rebel85 ich bastle mal ein wenig - melde mich wieder

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            rebel85 @liv-in-sky last edited by

                            @liv-in-sky
                            Danke

                            hier mal meine versuche:
                            XXXXXX@anubis-nas:~$ sensors
                            acpitz-virtual-0
                            Adapter: Virtual device
                            temp1: +35.0°C (crit = +95.0°C)

                            coretemp-isa-0000
                            Adapter: ISA adapter
                            Package id 0: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 0: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 1: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 2: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 3: +35.0°C (high = +105.0°C, crit = +105.0°C)

                            XXXXXX@anubis-nas:~$ sensors | grep Package -m 1 | awk '{print $4}' | awk '{print substr($1, length($5)-1,7)}'
                            +38.0°C
                            XXXXXX@anubis-nas:~$ sensors
                            acpitz-virtual-0
                            Adapter: Virtual device
                            temp1: +35.0°C (crit = +95.0°C)

                            coretemp-isa-0000
                            Adapter: ISA adapter
                            Package id 0: +36.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 0: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 1: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 2: +35.0°C (high = +105.0°C, crit = +105.0°C)
                            Core 3: +35.0°C (high = +105.0°C, crit = +105.0°C)

                            XXXXXX@anubis-nas:~$ sensors | grep Package -m 1 | awk '{print $4}' | awk '{print substr($1, length($5)-1,7)}'
                            +37.0°C

                            1 Reply Last reply Reply Quote 0
                            • R
                              rebel85 last edited by rebel85

                              sudo hddtemp /dev/sd{b,c,d,e,f,g}
                              

                              das müsste dann auch noch rigendwie mitgesendet werden.
                              wennd as richtig verstehe brauche ich dann für jede HDD im iobroker ein objekt wo die temp dann rein geschrieben wird. ???

                              XXXXXX@anubis-nas:~$ sudo hddtemp /dev/sd{b,c,d,e,f,g}
                              /dev/sdb: WDC WD40EFAX-68JH4N0: 28°C
                              /dev/sdc: WDC WD40EFAX-68JH4N0: 28°C
                              /dev/sdd: WDC WD40EFRX-68N32N0: 30°C
                              /dev/sde: WDC WD40EFRX-68N32N0: 29°C
                              /dev/sdf: WDC WD40EFRX-68N32N0: 29°C
                              /dev/sdg: WDC WD40EFRX-68N32N0: 29°C

                              liv-in-sky 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @rebel85 last edited by liv-in-sky

                                @rebel85 was du sendest obliegt dir - alle temp in einen datenpunkt und dann in iobroker aussortieren oder einzelne datenpunkte verwenden
                                ich kenne hddtemp nicht - aber da kannst du ja evtl nur eine platte auslesen und mit curl senden , dann die nächste, ..... evtl

                                sudo hddtemp /dev/sd{b}
                                

                                für die sdb platte - du fügst die befehle einfach in das temp script (das erste ganz oben) mit ein - dort siehst du ja wie ein variable erstellt wird und du diese dann versendest mit curl ( wie mit dem vmstat befehl )

                                sudo hddtemp /dev/sd{b} | awk '{print $4}'
                                

                                bei der temp der core ist es auch so - wenn du z.b. +36.0°C sendest musst du in iobroker noch ein script zur verwandlung in eine zahl durchführen - so das nur 36 drin steht - damit kannst du dann triggern oder dir reicht die reine anzeige der temp, dann kannst +36.0°C lassen

                                zu vmstat - der dritt-letzte wert ist ist die cpu - der wert nennt sich id (spalte) und beträgt die cpu idle zeit - ist also dieser wert 100 ist 100 -100 der load der cpu - also 0 - scheint nicht viel zu tun zu haben 🙂

                                aber ich denke du kommst auch ohne mich weiter - in linux wird jeder befehl ausgeführt und mit dem | weiter gereicht (pipe) - so findest du am ende der pipe deinen wert

                                ich mache auch immer trial and error - melde dich, wenn du noch was bestimmtes wissen willst

                                R 1 Reply Last reply Reply Quote 1
                                • R
                                  rebel85 @liv-in-sky last edited by rebel85

                                  @liv-in-sky

                                  XXXXXX@anubis-nas:~$ sudo hddtemp /dev/sd{b,c,d,e,f,g} | awk '{print $4}'
                                  

                                  gibt mir nur die festplatten temp werte aus in angegebener reihenfolge.

                                  ja glaube beim skript bauen und speichern dann wo?
                                  das mit dem e-mail versenden hab ich noch nicht ganz verstanden wie das funktioniert....

                                  und glaube beim chrontab -e müsst ich gucken, hab nämlich auf empfehlungen von freunden auf dem ubuntu nas auch webmin laufen wo das ja alles anders und für mich etwas einfacher verwaltet wird beim ubuntu 18.04 lts oder so ähnlich.

                                  ich versuch mal die befehle mal einzeln zu senden zum iobroker

                                  muss der befehlt für die eine hdd temp im bash skript jetzut so lauten?

                                  
                                  var=`vmstat 1 15 |  sudo hddtemp /dev/sdb | awk '{print $4}'`
                                  curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp?value=$var"
                                  
                                  
                                  liv-in-sky 1 Reply Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @rebel85 last edited by

                                    @rebel85

                                    wie schon erwähnt - nicht alle festplatten auf einmal sondern nur eine platte auswählen und anschliessend senden - dann die nächste platte

                                    sudo hddtemp /dev/sd{b} | awk '{print $4}'
                                    

                                    funktioniert das?

                                    wie macht man ein script für linux (bash-script):

                                    • ich mache solche scripte in den ordner : /usr/local/bin
                                    • cd /usr/local/bin
                                    • dann "sudo nano tempcpu" (öffnet eine datei mit dem namen tempcpu und darin wird das script reinkopiert - die erste zeile muss "#!/bin/bash" heißen
                                    • mit taste "alt" und x wird wird der editor geschlossen und mit "j" in der abfrage gespeichert
                                    • anschliessend führt man den befehl "sudo chmod +x tempcpu" aus, dass macht das script ausführbar
                                    • danach wird das in crontab eingetragen

                                    wenn du probleme hast , schlage ich anydesk vor - dann zeig ich dir gerne, wie das funktioniert - sonst schreib ich hier ein linux manual

                                    R 1 Reply Last reply Reply Quote 1
                                    • R
                                      rebel85 @liv-in-sky last edited by

                                      @liv-in-sky sagte in vom IO-Broker aus die CPU & HDD Temp Abfragen vom Ubuntu NAS:

                                      @rebel85

                                      wie schon erwähnt - nicht alle festplatten auf einmal sondern nur eine platte auswählen und anschliessend senden - dann die nächste platte

                                      sudo hddtemp /dev/sd{b} | awk '{print $4}'
                                      

                                      funktioniert das?

                                      wie macht man ein script für linux (bash-script):

                                      • ich mache solche scripte in den ordner : /usr/local/bin
                                      • cd /usr/local/bin
                                      • dann "sudo nano tempcpu" (öffnet eine datei mit dem namen tempcpu und darin wird das script reinkopiert - die erste zeile muss "#!/bin/bash" heißen
                                      • mit taste "alt" und x wird wird der editor geschlossen und mit "j" in der abfrage gespeichert
                                      • anschliessend führt man den befehl "sudo chmod +x tempcpu" aus, dass macht das script ausführbar
                                      • danach wird das in crontab eingetragen

                                      wenn du probleme hast , schlage ich anydesk vor - dann zeig ich dir gerne, wie das funktioniert - sonst schreib ich hier ein linux manual

                                      sudo hddtemp /dev/sdb | awk '{print $4}'
                                      

                                      muss es heisen, die klammer ist nur dafür da wenn man mehrere laufwerke abfragt und das dann die werte chonologisch untereinander aufgelistet ausgegeben werden.
                                      ich würde sagen wir machen morgen weiter.
                                      morgen heist es wieder früh raus.

                                      ich werd dann man die skripte erstellen mit was drinnen.
                                      und mir mal anydesk angucken.
                                      bis morgen

                                      liv-in-sky 1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @rebel85 last edited by liv-in-sky

                                        @rebel85 geht klar - bis dann

                                        1 Reply Last reply Reply Quote 1
                                        • R
                                          rebel85 last edited by rebel85

                                          Problem gelöst mit der hilfe von liv-in-sky via telefonat und anydesk.

                                          Temperaturen:

                                          #!/bin/bash
                                          
                                          var=`sudo hddtemp /dev/sdb | awk '{print $4}' | awk '{print substr($1, length($0)-3,2)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp_sdb?value=$var"
                                          var=`sudo hddtemp /dev/sdc | awk '{print $4}' | awk '{print substr($1, length($0)-3,2)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp_sdc?value=$var"
                                          var=`sudo hddtemp /dev/sdd | awk '{print $4}' | awk '{print substr($1, length($0)-3,2)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp_sdd?value=$var"
                                          var=`sudo hddtemp /dev/sde | awk '{print $4}' | awk '{print substr($1, length($0)-3,2)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp_sde?value=$var"
                                          var=`sudo hddtemp /dev/sdf | awk '{print $4}' | awk '{print substr($1, length($0)-3,2)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp_sdf?value=$var"
                                          var=`sudo hddtemp /dev/sdg | awk '{print $4}' | awk '{print substr($1, length($0)-3,2)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.HDD_Temp_sdg?value=$var"
                                          var=`sensors | grep Package -m 1 | awk '{print $4}' | awk '{print substr($1, length($0)-5,4)}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.CPU_Temp?value=$var"
                                          

                                          Auslastung

                                          #!/bin/bash
                                          
                                          var=`vmstat 1 15 | awk 'NR==10{print 100-$15}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.CPU_last?value=$var"
                                          
                                          var=`vmstat 1 15 | awk 'NR==10{print 100-$15}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.CPU_last?value=$var"
                                          
                                          var=`vmstat 1 15 | awk 'NR==10{print 100-$15}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.CPU_last?value=$var"
                                          
                                          var=`vmstat 1 14 | awk 'NR==10{print 100-$15}'`
                                          curl "http://192.168.178.42:8087/set/0_userdata.0.NAS.CPU_last?value=$var"
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          351
                                          Online

                                          32.0k
                                          Users

                                          80.5k
                                          Topics

                                          1.3m
                                          Posts

                                          datenpunkt exec extern externer sensor iobroker mqtt datenpunkt nas temperatur ubuntu
                                          3
                                          24
                                          1770
                                          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