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

                                  865
                                  Online

                                  32.0k
                                  Users

                                  80.5k
                                  Topics

                                  1.3m
                                  Posts

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