Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. RPIMonitor: "No Value found for cpu_frequency"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    RPIMonitor: "No Value found for cpu_frequency"

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bastelritius
      Bastelritius last edited by

      @Asgothian: Könntest Du noch mal genau beschreiben was Du gemacht hast um die CPU Frequenz wieder anzuzeigen?

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Bastelritius last edited by

        @Bastelritius
        Ich bin von

        /sys/devices/system/cpu0/cpufreq/cpuinfo_cur_freq
        

        auf

        /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
        

        als auszulesender Datei umgestiegen, das hat bei mir auch funktioniert.

        Du kannst versuchen meinen Fork von Github zu installieren, er unterscheidet sich vom aktuellen iobroker-community-adapters/ioBroker.rpi2 nur durch diese Änderung.

        A,

        https://github.com/asgothian/ioBroker.rpi2
        
        1 Reply Last reply Reply Quote 0
        • Bastelritius
          Bastelritius last edited by

          @Asgothian: Super, das funktioniert. Vielen Dank dafür.
          Kann man das nicht in die Standardversion des Adapters mit einpflegen?

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Bastelritius last edited by

            @Bastelritius sagte in RPIMonitor: "No Value found for cpu_frequency":

            Kann man das nicht in die Standardversion des Adapters mit einpflegen?

            Nicht wirklich, da dieser Messwert nicht wirklich standardisiert zu sein scheint:

            https://forum.iobroker.net/topic/13857/rpimonitor-no-value-found-for-cpu_frequency/21

            Asgothian 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @Homoran last edited by

              @Homoran

              Ich würde das trotzdem noch einmal zur Diskussion stellen:l

              • Wenn der Standardweg (cpuinfo_cur_freq) lesbar ist wird er genutzt
              • Wenn nicht wird geschaut ob die Alternative geht (scaling_cur_freq)
              • Wenn nicht gibt es -1

              Es sollte also auch im Standard immer eine Verbesserung geben.

              A.

              joergeli 1 Reply Last reply Reply Quote 0
              • wendy2702
                wendy2702 last edited by

                Ist das mittlerweile im Standard drin oder nicht?

                1 Reply Last reply Reply Quote 1
                • Garfonso
                  Garfonso Developer last edited by Garfonso

                  Nein, ist es nicht.

                  //EDIT:
                  Irgendwie ist mir bisher auch noch nicht ganz klar geworden, unter welchen Umständen scale_cur_freq nutzbar ist und unter welchen nicht. Hier hab ich zwei raspberries, wo die identisch zu cpu_cur_freq zu sein scheint. Auf meinem Server mit Desktop CPU sind die Werte völlig unterschiedlich und scale_cur_freq irgendwie nicht interpretierbar...

                  Eine mögliche Lösung wäre noch per cron den Wert aus cpu_cur_freq regelmäßig in eine Datei zu schreiben, die der user ioBroker dann lesen kann. Den cron müssten die User dann aber selber einrichten, da der iobroker auch beim installieren von adaptern keine Root-rechte hat. Ist das eine gangbare Lösung?

                  1 Reply Last reply Reply Quote 0
                  • joergeli
                    joergeli @Asgothian last edited by

                    @Asgothian
                    Anscheinend konnte das Problem mit "No Value found for cpu_frequency " noch nicht gelöst werden?

                    Weil mich genervt hat, daß ich nach jedem Reboot vom Raspi die Dateirechte manuell setzen musste,
                    habe ich jetzt folgenden Workaround gemacht:

                    In Datei /etc/rc.local folgendes zusätzlich eintragen:

                    echo "Setze Dateirechte 777 fuer /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq"
                    cd /sys/devices/system/cpu/cpu0/cpufreq
                    sudo chmod 777 cpuinfo_cur_freq
                    
                    cd /home/pi
                    exit 0
                    

                    Diese Datei wird nach dem Boot des Raspi ausgeführt und setzt die Rechte entspr.

                    Asgothian Thomas Braun 2 Replies Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @joergeli last edited by

                      @joergeli Nein, mein Änderungsvorschlag wurde abgelehnt. Weswegen das immer noch nicht geht. Das was Du da machst ist durchaus funktional, aber ich bin mir nicht sicher ob das nicht doch zwischendurch noch einmal umgesetzt wird.

                      A.

                      Garfonso 1 Reply Last reply Reply Quote 0
                      • Garfonso
                        Garfonso Developer @Asgothian last edited by

                        @Asgothian
                        Magst du dazu mal einen PR machen? Ich würde das durchaus testen und ggf. übernehmen wollen.

                        Asgothian Homoran 2 Replies Last reply Reply Quote 1
                        • Asgothian
                          Asgothian Developer @Garfonso last edited by

                          @Garfonso Klar, mach ich

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

                            @joergeli sagte in RPIMonitor: "No Value found for cpu_frequency":

                            chmod 777

                            Ich würde ja da etwas vorsichtiger rangehen und nicht alles von allen und jedem schreiben, lesen und ausführen lassen.

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Garfonso last edited by

                              @Garfonso sagte in RPIMonitor: "No Value found for cpu_frequency":

                              @Asgothian
                              Magst du dazu mal einen PR machen? Ich würde das durchaus testen und ggf. übernehmen wollen.

                              Das wäre super wenn an dem RPI2 nochmal was gemacht würde!!

                              wäre dann auch möglich bei anderen Parametern eine bedingte Abfrage zu machen?
                              bei Armbian-Rechnern liegen die Daten oft in anderen Pfaden oder die Abfrage ist anders.
                              Da habe ich mir auch immer die io-package.json neu hardcodiert (bis zum nächsten Update)

                              Irgendjemand war cleverer und hat einen OPi-Adapter draus gemacht.

                              Ich würde dann außerdem gerne mal die geänderte Version auf diversen SBC testen, schließlich steht ja die Aussage noch im Raum, dass der Wert von scaling_cur_freq nicxht immer passen soll (siehe Link im früheren Post)

                              Asgothian 2 Replies Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @Homoran last edited by

                                @Homoran Ich mach einfach meinen Fork wieder aktiv - dann kann da nach Herzenslust getestet werden. In dem Fork wird

                                • cpuinfo_cur_freq ausgelesen wenn es lesbar ist
                                • scaling_cur_freq ausgelesen wenn es lesbar ist
                                • -1000 ausgegeben wenn beide NICHT lesbar sind.

                                Ich denke damit sind wir hinreichend Sicher.

                                1 Reply Last reply Reply Quote 2
                                • Asgothian
                                  Asgothian Developer @Homoran last edited by

                                  @Homoran sagte in RPIMonitor: "No Value found for cpu_frequency":

                                  bei Armbian-Rechnern liegen die Daten oft in anderen Pfaden oder die Abfrage ist anders.

                                  In gewissen grenzen geht das. Hast du mal ein paar Beispiele für mich was du gepatched hast, dann bau ich das in den Branch gleich mit ein

                                  A.

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @Asgothian last edited by

                                    @Asgothian
                                    auf die Schnelle nur das hier:

                                    {
                                       "common": {
                                           "name":                     "rpi2",
                                           "title":                    "RPI-Monitor",
                                           "desc":                     {
                                       		"en": "RPI-Monitor for ioBroker Installations",
                                       		"de": "RPI-Monitor für ioBroker",
                                       		"ru": "RPI-Монитор для ioBroker"
                                       	},
                                           "version":                  "0.3.1",
                                           "news": {
                                       		"0.3.1": {
                                                   "en": "Fixup swap_used calculation.",
                                                   "de": "Korrigiere swap_used Kalkulation",
                                                   "ru": "Исправлено вычисление swap_used"
                                               },
                                               "0.3.0": {
                                                   "en": "Add GPIO direction indication",
                                                   "de": "GPIO Richtung States hinzugefügt",
                                                   "ru": "Добавлены состояния для индикации направления GPIO"
                                               },
                                               "0.2.2": {
                                                   "en": "Use BCM enumeration",
                                                   "de": "Benutze BCM Numerierung",
                                                   "ru": "Используется BCM нумерация"
                                               },
                                               "0.2.1": {
                                                   "en": "fix start of adapter",
                                                   "de": "Korrigiert Adapterstart",
                                                   "ru": "Исправлен старт драйвера"
                                               },
                                               "0.2.0": {
                                                   "en": "implement GPIOs control",
                                                   "de": "Implementiert die Steuerung von GPIOs",
                                                   "ru": "Добавлено управление GPIOs"
                                               }
                                           },
                                           "mode":                     "daemon",
                                           "platform":                 "javascript/Node.js",
                                           "os":                       ["linux"],
                                           "loglevel":                 "info",
                                           "keywords":                 ["ioBroker", "monitoring", "raspberry", "orangepi", "odroid", "bananapi", "gpio"],
                                           "main":                     "main.js",
                                           "authors": [
                                               "Christian Baumgartner", "husky-koglhof <husky.koglhof@icloud.com>"
                                           ],
                                           "license":                  "MIT",
                                           "singletonHost":             true,
                                           "readme":                   "https://github.com/ioBroker/ioBroker.rpi2/blob/master/README.md",
                                           "icon":                     "rpi.png",
                                           "type":                     "hardware",
                                           "enabled":					true,
                                           "config":{
                                               "minWidth":   650,
                                               "width":      700,
                                               "minHeight":  600,
                                               "height":     600
                                           },
                                           "extIcon":                  "https://raw.githubusercontent.com/ioBroker/ioBroker.rpi2/master/admin/rpi.png"
                                       },
                                       "native": {
                                           "c_cpu": true,
                                           "c_raspberry": false,
                                           "c_memory": true,
                                           "c_network": true,
                                           "c_sdcard": true,
                                           "c_swap": true,
                                           "c_temperature": true,
                                           "c_uptime": true,
                                           "c_wlan": true,
                                           "interval": 60000,
                                           "cpu": {
                                               "cpu_frequency": {
                                                   "command": "cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq",
                                                   "regexp": "(.*)",
                                                   "post": "$1/1000"
                                               },
                                               "load1,load5,load15": {
                                                   "command": "cat /proc/loadavg",
                                                   "regexp": "^(\\S+)\\s(\\S+)\\s(\\S+)",
                                                   "post": ""
                                               },
                                               "scaling_governor": {
                                                   "command": "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor",
                                                   "regexp": "(.*)",
                                                   "post": ""
                                               }
                                           },
                                           "raspberry": {
                                               "cpu_voltage": {
                                                   "command": "vcgencmd measure_volts core",
                                                   "regexp": "(\\d+.\\d+)V",
                                                   "post": ""
                                               },
                                               "mem_arm": {
                                                   "command": "vcgencmd get_mem arm",
                                                   "regexp": "(\\d+)",
                                                   "post": ""
                                               },
                                               "mem_gpu": {
                                                   "command": "vcgencmd get_mem gpu",
                                                   "regexp": "(\\d+)",
                                                   "post": ""
                                               }
                                           },
                                           "memory": {
                                               "memory_total": {
                                                   "command": "cat /proc/meminfo",
                                                   "regexp": "MemTotal:\\s+(\\d+)",
                                                   "post": "$1/1024"
                                               },
                                               "memory_free": {
                                                   "command": "cat /proc/meminfo",
                                                   "regexp": "MemFree:\\s+(\\d+)",
                                                   "post": "$1/1024"
                                               },
                                               "memory_available": {
                                                   "command": "cat /proc/meminfo",
                                                   "regexp": "MemAvailable:\\s+(\\d+)",
                                                   "post": "$1/1024",
                                                   "multiline": true
                                               }
                                           },
                                           "network": {
                                               "net_received": {
                                                   "command": "cat /sys/class/net/eth0/statistics/rx_bytes",
                                                   "regexp": "(.*)",
                                                   "post": "$1*-1"
                                               },
                                               "net_send": {
                                                   "command": "cat /sys/class/net/eth0/statistics/tx_bytes",
                                                   "regexp": "(.*)",
                                                   "post": ""
                                               }
                                           },
                                           "sdcard": {
                                               "sdcard_root_total": {
                                                   "command": "df /",
                                                   "regexp": "\\S+\\s+(\\d+).*\\/$",
                                                   "post": "$1/1024",
                                                   "multiline": true
                                               },
                                               "sdcard_root_used": {
                                                   "command": "df /",
                                                   "regexp": "\\S+\\s+\\d+\\s+(\\d+).*\\/$",
                                                   "post": "$1/1024",
                                                   "multiline": true
                                               }
                                           },
                                           "swap": {
                                               "swap_total": {
                                                   "command": "cat /proc/meminfo",
                                                   "regexp": "SwapTotal:\\s+(\\d+)",
                                                   "post": "$1/1024",
                                                   "multiline": true
                                               },
                                               "swap_used": {
                                                   "command": "cat /proc/meminfo",
                                                   "regexp": "SwapFree:\\s+(\\d+)",
                                                   "post": "(rpi.swap_total - $1)/1024",
                                                   "multiline": true
                                               }
                                           },
                                           "temperature": {
                                               "soc_temp": {
                                                   "command": "cat /sys/devices/virtual/thermal/thermal_zone0/temp",
                                                   "regexp": "(.*)",
                                                   "post": "$1/1000"
                                               }
                                           },
                                           "uptime": {
                                               "uptime": {
                                                   "command": "cat /proc/uptime",
                                                   "regexp": "(^\\S+)",
                                                   "post": ""
                                               }
                                           },
                                           "wlan": {
                                               "wifi_received": {
                                                   "command": "cat /sys/class/net/wlan0/statistics/rx_bytes",
                                                   "regexp": "(.*)",
                                                   "post": "$1*-1"
                                               },
                                               "wifi_send": {
                                                   "command": "cat /sys/class/net/wlan0/statistics/tx_bytes",
                                                   "regexp": "(.*)",
                                                   "post": ""
                                               }
                                           },
                                           "gpios": [
                                    
                                           ]
                                       },
                                       "objects": [
                                       ],
                                       "instanceObjects": [
                                       ]
                                    }
                                    
                                    

                                    ist aber schon uralt und ich weiß auch nicht ob da alles drin ist.

                                    Habe rein pragmatisch in den letzten Installationen einfach den Opi-Adapter genutzt.
                                    Vielleicht findest du da ja noch was

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • Asgothian
                                      Asgothian Developer @Homoran last edited by

                                      @Homoran
                                      Alles was da drin ist ist so auch im rpi2 drin. Und noch etwas mehr.

                                      Am besten testest du mal den adapter von meinem Repo:

                                      https://github.com/asgothian/ioBroker.rpi2
                                      
                                      Asgothian 1 Reply Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @Asgothian last edited by

                                        @homoran, @Garfonso, @joergeli

                                        konnte einer von Euch meine Anpassungen von letzter Woche testen ? Dann würde ich den Pull-Request auslösen. Bei mir geht es.

                                        A.

                                        joergeli Garfonso Homoran 4 Replies Last reply Reply Quote 0
                                        • joergeli
                                          joergeli @Asgothian last edited by

                                          @Asgothian
                                          Sorry, ich hatte noch keine Zeit.

                                          1 Reply Last reply Reply Quote 0
                                          • Garfonso
                                            Garfonso Developer @Asgothian last edited by

                                            @Asgothian
                                            Ja, scheint hier zu gehen.

                                            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

                                            938
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            19
                                            64
                                            8272
                                            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