Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Gelöst: Script zur Abfrage der CPU Temp

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Gelöst: Script zur Abfrage der CPU Temp

    This topic has been deleted. Only users with topic management privileges can see it.
    • Thomas Braun
      Thomas Braun Most Active @michihorn last edited by

      @michihorn

      Mit einem Skriptchen oder Blockly.

      M 1 Reply Last reply Reply Quote 0
      • M
        michihorn @Thomas Braun last edited by michihorn

        @thomas-braun also die Werte habe ich nun im Terminal, aber wie ich nun die Werte mit einem Script abrufen kann, weiß ich leider nicht.

        1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active last edited by

          @michihorn

          Ich auch nicht.
          Mit dem EXEC-Baustein-Blockly vielleicht.

          M 1 Reply Last reply Reply Quote 0
          • M
            michihorn @Thomas Braun last edited by

            @thomas-braun okay dann forsche ich mal.Danke erst mal

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

              @michihorn sagte: Abfrage der CPU Temperatur

              Welche CPU? Raspberry Pi?

              Thomas Braun 1 Reply Last reply Reply Quote 0
              • T
                ticaki Developer @michihorn last edited by

                @michihorn

                Ich hab sowas um zu checken ob ich online bin:

                var con_active = false;
                setInterval(function(){
                    con_active = false;
                    exec('ping -qc 2 www.google.com', callback)
                    exec('ping -qc 2 www.bing.com', callback)
                    exec('ping -qc 2 www.heise.de', callback)
                },60000)
                exec('ping -qc 2 www.google.com', callback)
                exec('ping -qc 2 www.bing.com', callback)
                exec('ping -qc 2 www.heise.de', callback)
                
                
                
                
                
                function callback(err, res) {
                    let should = res.substring(res.indexOf('statistics ---') + ('statistics ---').length, res.indexOf(' packets transmitted'));
                    should = Number(should)
                    let current = res.substring(res.indexOf('transmitted, ') + ('transmitted, ').length, res.indexOf('received'));
                    current = Number(current)
                    con_active = con_active || should && should == current
                    //log("test " + res)
                    setState('0_userdata.0.internet_connected', !!con_active, true);
                
                1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @paul53 last edited by

                  @paul53 sagte in Script zur Abfrage der CPU Temp:

                  Welche CPU? Raspberry Pi?

                  Beim Pi könnte man es auch per

                  vcgencmd measure_temp
                  

                  auslesen.

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    michihorn last edited by

                    @paul53 Raspberry 4

                    Ich habe es mal so versucht:

                    schedule("* * * * *", function () {
                    exec('sensors', function (error, stdout, stderr) { setState('0_userdata.0.System.pitemp',stdout); }); 
                    });
                    

                    Dann wird der DP auch beschrieben mit:
                    cpu_thermal-virtual-0
                    Adapter: Virtual device
                    temp1: +44.3°C (crit = +110.0°C)

                    rpi_volt-isa-0000
                    Adapter: ISA adapter
                    in0: N/A

                    Also kann ich mit Substr, das sicher einkürzen, oder gibt es einen einfacheren Weg?

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer @michihorn last edited by

                      @michihorn

                      Ja das sollte mit regex gehen... muß das aber mal gerade selbst versuchen

                      1 Reply Last reply Reply Quote 0
                      • M
                        michihorn @Thomas Braun last edited by michihorn

                        @thomas-braun sagte in Script zur Abfrage der CPU Temp:

                        @paul53 sagte in Script zur Abfrage der CPU Temp:

                        Welche CPU? Raspberry Pi?

                        Beim Pi könnte man es auch per

                        vcgencmd measure_temp
                        

                        auslesen.

                        schedule("* * * * *", function () {
                        //exec('sensors', function (error, stdout, stderr) { setState('0_userdata.0.System.pitemp',stdout); }); 
                        exec('vcgencmd measure_temp', function (error, stdout, stderr) { setState('0_userdata.0.System.pitemp',stdout); }); 
                        });
                        

                        Das Ergebnis ist:
                        temp=44.8'C
                        Klappt...mit einer kleinen Hürde, denn ich habe eine Warnmeldung
                        hürde.png

                        Edit: War der falsche Datentyp im DP

                        Danke für die Hilfe 👍

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @michihorn last edited by

                          @michihorn

                          Auch wenns schon geht:

                          const test = `cpu_thermal-virtual-0
                          Adapter: Virtual device
                          temp1: +44.3°C (crit = +110.0°C)
                          
                          rpi_volt-isa-0000
                          Adapter: ISA adapter
                          in0: N/A`
                          
                          const reg = /[0-9\.]+°C/;
                          const result = test.match(reg);
                          if (result) log(result[0])
                          
                          javascript.0 (619) script.js.Test.Skript_2: 44.3°C
                          
                          1 Reply Last reply Reply Quote 1
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          903
                          Online

                          31.6k
                          Users

                          79.5k
                          Topics

                          1.3m
                          Posts

                          javascript
                          4
                          16
                          555
                          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