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.
    • 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
              • Homoran
                Homoran Global Moderator Administrators @Asgothian last edited by

                @Asgothian
                müsste ich mal einen Armbian Rechner neu aufsetzen und testen

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

                  Ok. Dann gebe ich den Pull request jetzt erst einmal durch- In der Hoffnung das es keine Weiteren Probleme gibt.

                  A.

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

                    @Asgothian ich habe jetzt mal schnell einen guten alten Cubietruck aufgesetzt.
                    Da läuft dein Adapter ohne Probleme:
                    rpi2_asgothian.png

                    ich glaube aber, dass du die cpu_frequency bei armbian sowieso als user aufrufen kannst.

                    Habe dann noch ein paar Notizen gefunden, was ich früher mal implementiert hatte:

                    /sys/power/axp_pmu/ocv_curve
                    
                    /sys/power/axp_pmu/ac:
                    amperage  connected  used  voltage
                    
                    /sys/power/axp_pmu/battery:
                    amperage  capacity  charge  charging  connected  power  ts_voltage  voltage
                    
                    /sys/power/axp_pmu/charger:
                    amperage  cell_activation  charging  low_power
                    
                    /sys/power/axp_pmu/control:
                    battery_rdc         disable_fuel_gauge    set_vbus_direct_mode
                    charge_rtc_battery  reset_charge_counter
                    
                    /sys/power/axp_pmu/pmu:
                    overheat  temp  voltage
                    
                    /sys/power/axp_pmu/vbus:
                    amperage  connected  strong  used  voltage
                    
                    sudo hddtemp /dev/sda
                    /dev/sda: ST500LM012 HN-M500MBB: 45°C
                    

                    die Befehle funktionieren noch auf dem Cubie. Ich hatte damals u.a. Eingangsspannung und Leistung überwacht sowie die Ladefunktionen des internen Ladereglers und der angeschlossenen LiPo-Batterie. Die habe ich im Moment nicht dran, aber die Befehle Battery/connected und charger/charging geben immerhin ein 0 heraus.

                    Auch die Daten der am SATA angeschlossenen HDD/SSD hatte ich abgerufen und so die Temp und die Stunden im View dargestellt:

                    03a_Master.jpg

                    EDIT:
                    Mist! Das log ist bei einer neuen Installation standardmäßig nicht sichtbar.
                    Da stand doch was drin:

                    rpi2.0	2020-09-15 21:03:21.805	error	/1024
                    rpi2.0	2020-09-15 21:03:21.805	error	/dev/mmcblk0p1 30431292 1598472 27566624 6% /
                    rpi2.0	2020-09-15 21:03:21.805	error	(8577) Cannot evaluate: Filesystem 1K-blocks Used Available Use% Mounted on
                    

                    Armbian hat eine andere Filestruktur auf der Karte
                    ich weiß leider nicht mehr wie ich das damals (vor 5 Jahren???) abgefangen hatte

                    EDIT2:
                    habe es gefunden:
                    https://forum.iobroker.net/topic/6642/rock64-pine64/202

                    ich habe einfach die Abfragen im Adapter entfernt 😉

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

                      @Asgothian

                      Ich hatte heute mal etwas Zeit.
                      das Ganze hatte mir keine Ruhe gelassen, also habe ich nochmals rumgeschraubt.

                      Der "Fehler" mit der Boot-Partition ist anscheinend anders nicht zu lösen, als die Abfrage danach zu löschen.
                      Unter Armbian kommt man anscheinend von der Root nicht mehr an die Boot-Partition, das sind verschiedene Partitionen schon auf der Karte.

                      Da ich aber noch mehr wollte (auch wenn ich keine Ahnung habe) wollte ich nochmal wie früher unter ccu.io meinen Cubietruck komplett auslesen.

                      Das chöne am Cubietruck ist ja die Möglichkeit dort einen Akuu anzuschließen und somit eine USV zu besitzen.
                      Da sind so viele schöne Daten für Batterie und Netz (und noch weitere....).
                      Ich habe es tatsächlich geschafft die io-package.json so zu manipulieren, dass ich Ergebnisse bekomme:
                      CubieData001.png

                      Leider scheinen die Daten für Voltage und Ampere bei Netzbetrieb und Batterie identisch ausgegeben zu werden, obwohl die Befehle über putty die richtigen Werte ausgeben.

                      Zur Überprüfung habe ich die Formatierung der Daten absichtlich falsch gesetzt. Dies kommt aber richtig an 🤔

                      {
                       "common": {
                         "name": "rpi2",
                         "title": "RPI-Monitor",
                         "desc": {
                           "en": "RPI-Monitor",
                           "de": "RPI-Monitor",
                           "ru": "RPI-монитор",
                           "pt": "RPI-Monitor",
                           "nl": "RPI-Monitor",
                           "fr": "RPI-Monitor",
                           "it": "RPI-Monitor",
                           "es": "RPI-Monitor",
                           "pl": "Monitor RPI",
                           "zh-cn": "RPI-监视器"
                         },
                         "version": "1.2.0",
                         "news": {
                           "1.2.0": {
                             "en": "GPIO configuration as output with defined initial value",
                             "de": "GPIO Konfiguration als Ausgang mit definiertem Startwert",
                             "ru": "Конфигурация GPIO как выход с заданным начальным значением",
                             "pt": "Configuração GPIO como saída com valor inicial definido",
                             "nl": "GPIO-configuratie als uitgang met gedefinieerde beginwaarde",
                             "fr": "Configuration GPIO en sortie avec valeur initiale définie",
                             "it": "Configurazione GPIO come output con valore iniziale definito",
                             "es": "Configuración GPIO como salida con valor inicial definido",
                             "pl": "Konfiguracja GPIO jako wyjście ze zdefiniowaną wartością początkową",
                             "zh-cn": "GPIO配置为具有定义的初始值的输出"
                           },
                           "1.1.1": {
                             "en": "Error messages for not existing values are logged only once",
                             "de": "Fehlermeldungen für nicht vorhandene Werte werden nur einmal protokolliert",
                             "ru": "Сообщения об ошибках для несуществующих значений регистрируются только один раз",
                             "pt": "Mensagens de erro para valores não existentes são registradas somente uma vez",
                             "nl": "Foutmeldingen voor niet bestaande waarden worden slechts één keer vastgelegd",
                             "fr": "Les messages d'erreur relatifs à des valeurs non existantes ne sont consignés qu'une seule fois.",
                             "it": "I messaggi di errore per i valori non esistenti vengono registrati solo una volta",
                             "es": "Los mensajes de error para valores no existentes se registran una sola vez.",
                             "pl": "Komunikaty o błędach dla nieistniejących wartości są rejestrowane tylko raz",
                             "zh-cn": "不存在的值的错误消息仅记录一次"
                           },
                           "1.1.0": {
                             "en": "Support for Nodejs 10",
                             "de": "Unterstützung für Nodejs 10",
                             "ru": "Поддержка Nodejs 10",
                             "pt": "Suporte para Nodejs 10",
                             "nl": "Ondersteuning voor Nodejs 10",
                             "fr": "Prise en charge de Nodejs 10",
                             "it": "Supporto per Nodejs 10",
                             "es": "Soporte para Nodejs 10",
                             "pl": "Wsparcie dla Nodejs 10",
                             "zh-cn": "支持Nodejs 10"
                           },
                           "1.0.0": {
                             "en": "Admin3 support",
                             "de": "Admin3-Unterstützung",
                             "ru": "Поддержка Admin3",
                             "pt": "Suporte Admin3",
                             "nl": "Admin3-ondersteuning",
                             "fr": "Support Admin3",
                             "it": "Supporto per Admin3",
                             "es": "Soporte de Admin3",
                             "pl": "Obsługa Admin3",
                             "zh-cn": "Admin3的支持"
                           },
                           "0.3.2": {
                             "en": "fixed Mem available readings on Stretch",
                             "de": "mem available bei strech gefixt",
                             "ru": "fixed Mem available readings on Stretch",
                             "pt": "fixo Mem disponível leituras no Trecho",
                             "nl": "vaste Mem beschikbare metingen op Rek",
                             "fr": "fixe Mem disponible lectures sur le Tronçon",
                             "it": "fisso Mem disponibile letture Tratto",
                             "es": "fijo Mem disponible lecturas en el Tramo",
                             "pl": "stałej pamięci są dostępne czytania na odcinku",
                             "zh-cn": "固定Mem提供的读数在拉伸"
                           },
                           "0.3.1": {
                             "en": "Fixup swap_used calculation.",
                             "de": "Korrigiere swap_used Kalkulation",
                             "ru": "Исправлено вычисление swap_used",
                             "pt": "Ajuste swap_used de cálculo.",
                             "nl": "Correctie swap_used berekening.",
                             "fr": "Correction swap_used de calcul.",
                             "it": "Correzione swap_used di calcolo.",
                             "es": "Corrección swap_used de cálculo.",
                             "pl": "Obliczanie poprawki swap_used.",
                             "zh-cn": "链接地址swap_used计算。"
                           },
                           "0.3.0": {
                             "en": "Add GPIO direction indication",
                             "de": "GPIO Richtung States hinzugefügt",
                             "ru": "Добавлены состояния для индикации направления GPIO",
                             "pt": "Adicionar GPIO direção indicação",
                             "nl": "Toevoegen GPIO richting aangeven",
                             "fr": "Ajouter GPIO indication de la direction",
                             "it": "Aggiungere GPIO indicazione di direzione",
                             "es": "Agregar GPIO indicación de la dirección",
                             "pl": "Dodaj wskazaniem kierunku linii GPIO ",
                             "zh-cn": "添加端口方向的指示"
                           },
                           "0.2.2": {
                             "en": "Use BCM enumeration",
                             "de": "Benutze BCM Numerierung",
                             "ru": "Используется BCM нумерация",
                             "pt": "Usar o BCM enumeração",
                             "nl": "Gebruik BCM opsomming",
                             "fr": "Utiliser BCM énumération",
                             "it": "Uso miliardi di metri CUBI di enumerazione",
                             "es": "El uso de BCM enumeración",
                             "pl": "Używać wyliczenie mld m sześc. ",
                             "zh-cn": "使用BCM枚举"
                           },
                           "0.2.1": {
                             "en": "fix start of adapter",
                             "de": "Korrigiert Adapterstart",
                             "ru": "Исправлен старт драйвера",
                             "pt": "correcção início do adaptador",
                             "nl": "fix start van adapter",
                             "fr": "fix début de l'adaptateur",
                             "it": "fix inizio dell'adattatore",
                             "es": "revisión inicio de adaptador",
                             "pl": "naprawiono zasilacza",
                             "zh-cn": "修复启动的适配器"
                           }
                         },
                         "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>"
                         ],
                         "osDependencies": {
                           "linux": [
                             "build-essential",
                             "python"
                           ]
                         },
                         "dependencies": [
                           {
                             "js-controller": ">=2.0.0"
                           }
                         ],
                         "license": "MIT",
                         "singletonHost": true,
                         "readme": "https://github.com/iobroker-community-adapters/ioBroker.rpi2/blob/master/README.md",
                         "icon": "rpi.png",
                         "type": "hardware",
                         "enabled": true,
                         "materialize": true,
                         "config": {
                           "minWidth": 650,
                           "width": 700,
                           "minHeight": 600,
                           "height": 600
                         },
                         "extIcon": "https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.rpi2/master/admin/rpi.png",
                         "installedFrom": "https://github.com/asgothian/ioBroker.rpi2/tarball/9d331cb0c01fd2d2ae077fca11da2adea126ec5a"
                       },
                       "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_battery": true,
                         "c_power_supply": true,
                         "c_wlan": true,
                         "interval": 60000,
                         "cpu": {
                           "cpu_frequency": {
                             "command": "test -r /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq && cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq || test -r /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq && cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq || echo -1000",
                             "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": ""
                           }
                         },
                         "battery":{
                           "connected":{
                             "command": "cat /sys/power/axp_pmu/battery/connected",
                         	"regexp": "(.*)",
                             "post": ""
                           },
                           "voltage":{
                             "command": "cat /sys/power/axp_pmu/battery/voltage",
                         	"regexp": "(.*)",
                             "post": "$1/100000"
                           },
                           "amperage":{
                             "command": "cat /sys/power/axp_pmu/battery/amperage",
                         	"regexp": "(.*)",
                             "post": "$1/1000"
                           },
                           "capacity":{
                             "command": "cat /sys/power/axp_pmu/battery/capacity",
                         	"regexp": "(.*)",
                             "post": ""
                           },
                           "charge":{
                             "command": "cat /sys/power/axp_pmu/battery/charge",
                         	"regexp": "(.*)",
                             "post": "$1/1000"
                           },
                           "charging":{
                             "command": "cat /sys/power/axp_pmu/battery/charging",
                         	"regexp": "(.*)",
                             "post": "$1/1000"
                           }	  
                         },
                         "power_supply":{
                           "connected":{
                             "command": "cat /sys/power/axp_pmu/ac/connected",
                         	"regexp": "(.*)",
                             "post": ""
                           },
                           "voltage":{
                             "command": "cat /sys/power/axp_pmu/ac/voltage",
                         	"regexp": "(.*)",
                             "post": "$1/1000000"
                           },
                           "amperage":{
                             "command": "cat /sys/power/axp_pmu/ac/amperage",
                         	"regexp": "(.*)",
                             "post": "$1/10000"
                           }
                         },	
                         "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": []
                      }
                      

                      Kannst du mir dabei helfen zu verstehen wo der Fehler ist?
                      und wo muss ich den Typ und die Einheit der States definieren?

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

                        @Asgothian
                        Habe mal einfach mit try and Error den wahrscheinlichsten Fall getroffen, dass ich die Bezeichnungen geändert habe, habe dann noch hier und da etwas geändert, sieht im Moment so aus:

                        simulierter Stromausfall mit Batteriebetrieb
                        CubieData_discharging.png

                        und anschließend Stecker wieder rein:
                        CubieData_charging.png

                        Wenn du mir dann noch helfen könntest wo man diese Datenpunkte definiert, wäre ich dir dankbar.
                        Variablendefinitionen hatte ich nicht gefunden, daher kam ich auf die Idee, dass die IDs gleichzeitig die Variablen sind.
                        ich hatte gehofft, dass durch die unterschiedlichen Objekte, die darin enthaltenen States ruhig gleich bezeichnet werden könnten

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

                          @Homoran

                          Die Definition ist eigentlich ganz einfach, hier mal am Beispiel "raspberry" :

                                  "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": ""
                                      }
                                  },
                          
                          

                          das JSON Objekt hinter der Property "raspberry" bezeichnet die 3 Objekte die unter "rpi2.0.raspberry" angelegt werden. Die "ID" der Objekte entspricht dabei den Properties aus der 1. Ebene (also "cpu_voltage", "mem_arm", "mem_gpu". Die Benennung entspricht der "vollständigen id", also z.Bsp. rpi2.0.raspberry.mem_gpu"

                          Ausgewertet werden diese Properties aber NUR, wenn es auf der obersten Ebene des "common" JSON Objektes den Eintrag "c_raspberry":true gibt. Ohne diesen wird das ganze JSON zu "raspberry" nicht weiter beachtet.

                          Die "c_..." properties werden auch von der admin Oberfläche aus einstellbar gemacht - müssen also dafuer auch im admin Bereich mit eingetragen werden.

                          Die eigentliche Benennung der Objekte selber müssen wie eigentlich immer nur in der vollständigen ID eindeutig sein ("rpi2.0.raspberry.mem_gpu")

                          Was den Typ angeht - aktuell ist der Typ immer "numerisch" oder "mixed", abhängig davon ob es innerhalb eines "verzeichnis" einen oder mehrere Datenpuntkte gibt. Ist es nur einer, ist der Typ mixed, sind es mehrere ist es numerisch.

                          Da müsste ich die Einträge mal erweitern um "type" und "format". Das kann ich tun wenn Du mir sagst was da gewünscht ist.

                          Ich hoffe das hilft soweit. Ansonsten können wir uns mal per ts / discord direkt unterhalten.

                          A.

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

                            @Asgothian
                            Danke für die Antworten!

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

                            Die Definition ist eigentlich ganz einfach, hier mal am Beispiel "raspberry" :

                            Das hatte ich ja auch früher schon mal geändert um den Adapter an Armbian anzupassen.
                            Soweit war das kein Problem.

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

                            Ausgewertet werden diese Properties aber NUR, wenn es auf der obersten Ebene des "common" JSON Objektes den Eintrag "c_raspberry":true gibt.

                            Das hatte ich mittlerweile auch herausbekommen und entsprechende Einträge hinzugefügt.
                            Dadurch bekam ich dann die neuen "Gruppen"
                            CubieData011.png

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

                            Die "c_..." properties werden auch von der admin Oberfläche aus einstellbar gemacht - müssen also dafuer auch im admin Bereich mit eingetragen werden.

                            Das wäre natürlich noch das Sahnehäubchen - muss ich mir mal ansehen

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

                            Die eigentliche Benennung der Objekte selber müssen wie eigentlich immer nur in der vollständigen ID eindeutig sein ("rpi2.0.raspberry.mem_gpu")

                            Davon war ich auch ausgegangen, aber anscheinend klappt das bei dem Adapter nicht, wenn die States trotz verschiedener Devices den gelichen Namen haben.
                            Habe mal versucht die main.js nachzuvollziehen. Auch wenn mir da vieles viel zu hoch ist, scheint es da eine funktion parser zu geben, die anscheinend die Werte nicht korrekt zuordnet.

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

                            Da müsste ich die Einträge mal erweitern um "type" und "format". Das kann ich tun wenn Du mir sagst was da gewünscht ist.

                            Mein Wunsch ist relativ unwichtig, aber ich denke die Typen sollten schon korrekt sein. Außerdem sollten die units noch mit rein.

                            Wenn ich eine unmaßgebliche Idee dazu haben sollte, würde ich in der io-package.json noch weitere Punkte entsprechend der Objektbeschreibungen ("unit";"type";"format") hinzufügen, die dann über die parser-Funktion ausgelesen werden müssten.

                            Hatte zwischenzeitlich manuell das raw angepasst
                            CubieData_dis_and_charging_data.png

                            Mein nächster Schritt wäre noch Daten für die SSD einzubinden, wäre vielleicht auch für andere SBC sinnvoll, da immer mehr eine USB/SATA SSD nutzen.
                            Damals habe ich die Daten über smartmoncontrol ausgelesen.
                            Habe ich auch schon installiert, aber noch keine Platte dran 😉

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

                            Ansonsten können wir uns mal per ts / discord direkt unterhalten.

                            habe ich leider beides nicht, werde ich auch nicht einrichten.

                            Nochmals danke für die Hilfe!!!!

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

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

                              Davon war ich auch ausgegangen, aber anscheinend klappt das bei dem Adapter nicht, wenn die States trotz verschiedener Devices den gelichen Namen haben.

                              das ist seltsam, ich hatte da keine Probleme. Ich hab mir zum Spass mal 2 Werte erzeugt mit gleichem internen Namen. Das teste ich noch im Detail die Tage, und behebe das gleich wenn ich heraus bekomme wo es klemmt.

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

                              Mein nächster Schritt wäre noch Daten für die SSD einzubinden, wäre vielleicht auch für andere SBC sinnvoll, da immer mehr eine USB/SATA SSD nutzen.
                              Damals habe ich die Daten über smartmoncontrol ausgelesen.
                              Habe ich auch schon installiert, aber noch keine Platte dran

                              Hier müssen wir aufpassen. Wenn neue Datenpunkte hinzu gefügt werden müssen wir uns über die Fehlerbehandlung unterhalten.
                              Es ist halt blöd wenn in der Konfiguration Datenpunkte auswählbar sind die dann Fehlermeldungen im Log oder sogar im Syslog des Systems hinterlassen. Ich denke das man da besser fährt wenn entsprechende Default-Werte hinterlegt werden können.

                              A.

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

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

                                Wenn neue Datenpunkte hinzu gefügt werden müssen wir uns über die Fehlerbehandlung unterhalten.

                                klar - aber erst mal sehn was überhaupt geht 😉

                                Dauert bei mir eh wieder Wochen

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

                                das ist seltsam, ich hatte da keine Probleme.

                                Die Datenpunkte werden korrekt im Objektbaum angelegt, haben bei gleichem State-Namen bei mir aber identische Werte angezeigt.
                                Nach änderung der Namen (zuerst bei rpi2.0.battery-stateName_b das _b angehängt) lief alles problemlos

                                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

                                798
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

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