Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [DEPRECATED] Abkündigung Adapter ioBroker.info

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [DEPRECATED] Abkündigung Adapter ioBroker.info

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

      @rushmed said in [DEPRECATED] Abkündigung Adapter ioBroker.info:

      Schade, ich mag den Adapter.
      Gibts ne Alternative mit der ich mir CPU Last, RAM Auslastung, Festplattenauslastung und Temperatur in InfluxDB schreiben kann?

      Schau dir mal die States an die der js-controlelr anbietet:
      system->host->

      65d256e3-9d94-4fff-86d3-f28928c11594-image.png

      Temperatur gibts da leider nicht, aber alles andere sollte vorhanden sein. Bezüglich Temperatur könntest du ja ev. einen Feature Request Issue erstellen - allerdings ist das ev. eine Thema dass schwer platformneutral abbildbar ist.

      EDIT:
      Grad gesehen - homoran war schneller. Danke

      1 Reply Last reply Reply Quote 1
      • mcm1957
        mcm1957 @Rushmed last edited by

        @rushmed said in [DEPRECATED] Abkündigung Adapter ioBroker.info:

        @wolfi913 Im Adapter Tab bei Druck auf d52549dc-500e-4e93-8994-a6222c9abe7c-image.png werden alle Updates aufgelistet.

        Da werden dann auch Updates am SLAVE angezeigt !?
        Bist du sicher ?

        Mein Wissen mag unvollständig sein, aber bisher war ich der Ansicht dass dieser Button nur bewirkt, dass nur Adapter des aktiv gewählten Hosts die ein Update benötigen angezeigt werden.

        Was wolfi913 sucht ist eine Möglichkeit OHNE den Host umzuschalten mit einem Blick zu sehen ob und welche Adapter auf den Slaves zu aktualisieren sind; auch wenn diese am aktiven Hist (z.B. Master) gar nicht installiert sind.

        Homoran A 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @mcm1957 last edited by

          @mcm57 sagte in [DEPRECATED] Abkündigung Adapter ioBroker.info:

          Was wolfi913 sucht ist eine Möglichkeit OHNE den Host umzuschalten mit einem Blick zu sehen ob und welche Adapter auf den Slaves zu aktualisieren sind; auch wenn diese am aktiven Hist (z.B. Master) gar nicht installiert sind.

          wäre dann in der Hostliste eine weitere Auswahl ("alle") möglich?

          so etwas wünsche ich mir auch bei den logs. Fehlermeldungen auf den Slaves gehen mir immer wieder durch die Lappen 😞

          1 Reply Last reply Reply Quote 1
          • A
            ag @mcm1957 last edited by

            Hallo
            Ich habe hier einen Master und einen Slave.
            Im Adapter Tab des Masters werden auch die auf dem Slave installierten Adapter angezeigt und können darüber auch aktualisiert werden.

            W mcm1957 2 Replies Last reply Reply Quote 0
            • W
              wolfi913 @ag last edited by

              @ag @Rushmed

              Also bei mir werden weder über den Filter noch auf dem Master die Updates des Slaves angezeigt.

              Filter:
              Screenshot 2024-01-30 215007.png

              Master
              Screenshot 2024-01-30 214936.png

              Slave
              Screenshot 2024-01-30 214906.png

              Aber sei's drum. Ist aus meiner Sicht nicht so tragisch und auch etwas off-topic. War ja nur ne Frage ob man da was machen könnte.

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

                @wolfi913

                Dann hast du auch jeweils einen admin laufen.
                Braucht es aber eigentlich nicht. Auf dem Master einen für alles.

                W 1 Reply Last reply Reply Quote 1
                • W
                  wolfi913 @Thomas Braun last edited by

                  @thomas-braun

                  Der zweite Admin ist schon immer da seit ich das System neu aufgesetzt hab' und dann sofort zum Slave "degradiert" hab.

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

                    @wolfi913

                    Ja? Und? Ist trotzdem überflüssig.

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      wolfi913 @Thomas Braun last edited by

                      @thomas-braun

                      Wollte damit ja auch nur zeigen, dass die Adapter des Slaves beim Master nicht mit angezeigt werden. Bei den anderen Adaptern auf dem Slave stehen momentan ja keine Updates an um das im Bild darzustellen, dass die beim Master nicht als aktualisierbar gelistet werden.

                      Auch wenn's am Thema vorbeigeht sollte ich also aus Deiner Sicht den Admin dann bei Gelegenheit rausnehmen?

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

                        @wolfi913 sagte in [DEPRECATED] Abkündigung Adapter ioBroker.info:

                        sollte ich also aus Deiner Sicht den Admin dann bei Gelegenheit rausnehmen?

                        Ich bin ja immer dafür überflüssiges Zeuch nicht mitzuschleifen.

                        W ofri2607 2 Replies Last reply Reply Quote 0
                        • W
                          wolfi913 @Thomas Braun last edited by

                          @thomas-braun

                          Ok. Mach ich dann in wenn Zeit ist.👍

                          1 Reply Last reply Reply Quote 0
                          • Chaot
                            Chaot @mcm1957 last edited by

                            @mcm57 Schade. Ich habe den Adapter gerne im Einsatz gehabt.
                            Aber es war auch schon lange angekündigt, dass er wohl eingestellt wird.
                            Da muss ich das dann wohl rauswerfen.
                            Danke dir für deine Arbeit

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

                              @thomas-braun
                              Bei mir ist das genauso mit dem Admin Adapter am Master und am Slave und es war mir so nicht bewusst, dass der am Master ausreichend ist. Ich bin da bei dir, was nicht wirklich notwendig ist, gehört raus.
                              Vielleicht ist das jetzt eine blöde Frage, aber kann ich den Admin-Adapter am Slave einfach löschen, oder ist da zuvor etwas zu beachten / einzustellen?

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

                                @ofri2607

                                Sollte gehen.

                                1 Reply Last reply Reply Quote 1
                                • O
                                  olifre @mcm1957 last edited by

                                  @mcm57 said in [DEPRECATED] Abkündigung Adapter ioBroker.info:

                                  Sollten einzelne Funktionen jemandem dringend abgehen, dann bitte ruhig hier nachfragen. Eventuell gibt es punktuellen Ersatz oder eine sonstige Lösung dafür.

                                  Ich schließe mich auch einmal den Fragen nach einem Adapter für CPU-Temperatur-Monitoring an. Habe dafür bisher gerne den Info-Adapter genutzt.

                                  In meinem Fall ist das System ein kleiner x86 mit 3 Watt Stromverbrauch, der die Temperaturen per lm_sensors problemlos zur Verfügung stellt.

                                  Was ich bisher als Alternativen zum Info-Adapter probiert habe:

                                  • ioBroker.systeminfo und damit manuell die Daten aus sysfs oder so einsammeln. Der Adapter legt bei mir gar keine Objekte an, scheinen auf GitHub auch andere User zu reporten, wird vermutlich nicht mehr gepflegt.
                                  • ioBroker.snmp, leider kann aber der snmpd, wie er bei Debian und abgeleiteten Distros mitgeliefert wird, kein lm_sensors (siehe https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1062250 ).
                                  • ioBroker.linux-control , da dort das letzte Update im Git scheinbar vor zwei Jahren war, ist es vermutlich keine gute Idee, auf diesen Adapter zu setzen, da früher oder später Inkompatibilitäten zu erwarten sind.

                                  Hat jemand eine gute Alternative zum Auslesen von CPU-Temperaturen?
                                  Oder besteht die Möglichkeit, das im System-Adapter naczurüsten (zumindest für standardisiert per lm_sensors angebotene Temperaturen)?

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

                                    @olifre sagte in [DEPRECATED] Abkündigung Adapter ioBroker.info:

                                    Hat jemand eine gute Alternative zum Auslesen von CPU-Temperaturen?

                                    leider nein.

                                    Zur Blütezeit von ioBroker auf SBCs habe ich feststellen müssen, dass selbst je nach Distro die Pfade zu den Temperaturen unterschiedlich waren.
                                    Teilweise auch die Befehle um sie angezeigt zu bekommen.
                                    Dadurch wurde es nahezu unmöglich diese einheitlich zu parsen.

                                    Erschwerend jam dann noch dazu, dass sich das selbst bei gleichen SBC und OS dieses mit OS Versionen änderte.

                                    Wenn man sann noch Win, Apfel und wer weiß was unter eine Haube bringen will ohne zusätzliche Programme zu installieren wird es IMHO nahezu unmöglich.

                                    O 1 Reply Last reply Reply Quote 0
                                    • O
                                      olifre @Homoran last edited by

                                      @homoran said in [DEPRECATED] Abkündigung Adapter ioBroker.info:

                                      Zur Blütezeit von ioBroker auf SBCs habe ich feststellen müssen, dass selbst je nach Distro die Pfade zu den Temperaturen unterschiedlich waren.
                                      Teilweise auch die Befehle um sie angezeigt zu bekommen.

                                      Das stimmt natürlich — mit libsensors von lm_sensors ist es zumindest auf allen Linux-Systemen schön einheitlich lösbar (bei Verwendung der Library ohne dass man Pfade braucht), aber die Spezialfälle wie Raspis oder Betriebssysteme wie Windows oder macOS erschlägt man damit natürlich leider nicht.

                                      Wahrscheinlich bleibt mir dann nichts Anderes übrig, als selbst etwas zu basteln 😢 . Vermutlich dann mit einem snmp_passpersist-Skript als Erweiterung zum snmpd, auch wenn das nicht schön wird.

                                      Falls jemand noch eine andere Idee hat, natürlich immer her damit 😉 .

                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        Lucky_ESA Developer Most Active @olifre last edited by Lucky_ESA

                                        @olifre Habe 3 Raspberrys die mir alle Daten per Mqtt an den Adapter Mqtt jede Minute übergeben. Das kann ich dir nicht geben da ich dafür den Mqtt Adapter anpassen musste.
                                        Habe dann allerdings noch ein weiteres Python Script laufen, welches per runlevel gestartet wird und dann jede Sekunde mir die CPU und RAM Daten liefert. Das kann man natürlich auch um die Temperatur erweitern.

                                        Hier die IP und den Datenpunkt anpassen sowie eventuell den Intervall.

                                        #!/usr/bin/env python3.0
                                        
                                        import os
                                        import time
                                        import requests
                                        import json
                                        import math
                                        
                                        url = "http://192.168.x.x:8087/setValueFromBody/0_userdata.0.Hiobs.debmatic_cpu?ack=true"
                                        
                                        def read_meminfo():
                                           meminfo = {}
                                           for line in open('/proc/meminfo'):
                                               if not line: continue
                                               (name, value) = line.split()[0:2]
                                               meminfo[name.strip().rstrip(':')] = int(value)
                                           return meminfo
                                        
                                        def getCPU():
                                           headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
                                           last_value = ""
                                           while True:
                                               meminfo = read_meminfo()
                                               memTotal = meminfo["MemTotal"]
                                               memFree = meminfo["MemFree"] + meminfo["Buffers"] + meminfo["Cached"]
                                               memUsed = math.ceil((memTotal - memFree) / 1024)
                                               memFreePct = 100.0*memFree/memTotal
                                               i = 0
                                               p = os.popen("cat /proc/stat")
                                               data = []
                                               for thing in p:
                                                   i = i + 1
                                                   all_time = 0
                                                   line = thing.strip().split()[0:9]
                                                   if line[0].startswith('cpu'):
                                                       all_time_use = int(line[1]) + int(line[2]) + int(line[3]) + int(line[4]) + int(line[5]) + int(line[6]) + int(line[7]) + int(line[8])
                                                       if i==1:
                                                           all_cpu = int(line[4])
                                                       all_time = ((all_time_use - int(line[4])) / all_cpu) * 100.0
                                                       data.append({"name": line[0], "value": str(round(all_time, 2)) + " %"})
                                               #tot_m, used_m, free_m = map(int, os.popen('free -t -m').readlines()[-1].split()[1:])
                                               data.append({"name": "RAM", "value": str(round(memUsed,2)) + " MB"})
                                               if last_value != json.dumps(data):
                                                   r = requests.post(url, data=json.dumps(data), headers=headers)
                                                   #if r.status_code == 200:
                                                       #print(r.status_code)
                                                   data_value = json.dumps(data)
                                               time.sleep(1)
                                        
                                        
                                        if __name__ == "__main__":
                                           getCPU()
                                        

                                        #! /bin/sh
                                        
                                        case "$1" in
                                           start)
                                               echo "CPU wird gestartet"
                                               # Starte Programm
                                               python /home/rpi/cpu.py &
                                               ;;
                                           stop)
                                               echo "CPU wird beendet"
                                               # Beende Programm
                                               killall python /home/rpi/cpu.py
                                               ;;
                                           *)
                                               echo "Benutzt: /etc/init.d/cpustart {start|stop}"
                                               exit 1
                                               ;;
                                        esac
                                        
                                        exit 0
                                        

                                        Nun noch 4 Symlinks erstellen:

                                        sudo ln -s /etc/init.d/cpustart /etc/rc3.d/S99cpustart
                                        sudo ln -s /etc/init.d/cpustart /etc/rc0.d/K01cpustart
                                        sudo ln -s /etc/init.d/cpustart /etc/rc1.d/K01cpustart
                                        sudo ln -s /etc/init.d/cpustart /etc/rc6.d/K01cpustart
                                        

                                        Einmal neu Starten....

                                        Natürlich müsste man jetzt das noch für dein System anpassen aber das sollte machbar sein.

                                        Finde es schade das der Adapter nun entfernt werden muss aber es lässt sich nicht ändern.

                                        EDIT: simple-api muss natürlich installiert sein!

                                        Gruß//Lucky

                                        O 1 Reply Last reply Reply Quote 1
                                        • P
                                          pk68 @Homoran last edited by

                                          Eine Frage zu dem Parameter "system.host.raspi4-sh.cpu" der ja die "CPU usage in % of one core" angeben soll. Bei Mehrkernsystemen wie z.B. einem Raspi 4 was gibt der Parameter an? Die Auslastungen eines beliebigen Kerns oder den Kern mit der Höchsten?

                                          jolic 1 Reply Last reply Reply Quote 0
                                          • jolic
                                            jolic @pk68 last edited by

                                            Hi, angesichts der Tatsache, dass es schon seit längerem keine neuen Updates mehr für den RPi-Monitor (rpi2) gibt und dieser ausschließlich für Debian konzipiert wurde, setze ich auf ein kleines JavaScript. Dieses Skript überwacht kontinuierlich die CPU-Temperatur und die Laufzeit meines Raspberry Pi-Systems und speichert diese Daten regelmäßig in ioBroker-Datenpunkten ab. Wer zusätzliche Informationen benötigt, kann diese Basis gerne als Ausgangspunkt nehmen und sie nach Bedarf erweitern.

                                            Vielleicht gibt es jemanden, der eine bessere Lösung oder Idee für diesen Code hat? Bei mir läuft er jedenfalls ohne Probleme.

                                            // V23.12.002
                                            // Linux Pi-System Monitor
                                            //
                                            // Das Skript überwacht die CPU-Temperatur und die Uptime eines Raspberry Pi-Systems,
                                            // und speichert diese Informationen regelmäßig in ioBroker-Datenpunkten,
                                            // wobei die Temperatur auf eine Stelle und die Uptime auf zwei Stellen hinter dem Komma begrenzt wird.
                                            
                                            var exec = require("child_process").exec;
                                            
                                            // Pfad für die Datenpunkte
                                            var dataPath = "javascript.0.linux-pi-system";
                                            
                                            // Funktion zur Aktualisierung eines Zustands, falls vorhanden, oder zur Erstellung eines neuen Zustands
                                            function updateOrCreateState(path, value, callback) {
                                                getObject(path, function (err, obj) {
                                                    if (!err && obj) {
                                                        // Der Zustand existiert bereits, aktualisiere ihn
                                                        setState(path, value, true, callback);
                                                    } else {
                                                        // Zustand erstellen
                                                        createState(path, value, true, callback);
                                                    }
                                                });
                                            }
                                            
                                            // Funktion zur Speicherung der CPU-Temperatur
                                            function saveCPUTemperature() {
                                                exec("cat /sys/class/thermal/thermal_zone0/temp", function (error, stdout, stderr) {
                                                    if (!error) {
                                                        // Umrechnung in Grad Celsius mit einer Stelle hinter dem Komma begrenzt
                                                        var millikelvin = parseFloat(stdout.trim());
                                                        var celsius = (millikelvin / 1000).toFixed(1);
                                            
                                                        // Speichern des Wertes in ioBroker
                                                        updateOrCreateState(dataPath + ".temperature", celsius, function () {});
                                                    } else {
                                                        log("Fehler beim Abrufen der CPU-Temperatur: " + error);
                                                    }
                                                });
                                            }
                                            
                                            // Funktion zur Umrechnung der Uptime in Stunden und Speicherung
                                            function saveUptime() {
                                                exec("cat /proc/uptime", function (error, stdout, stderr) {
                                                    if (!error) {
                                                        // Zerlegen des stdout-Strings und Umwandlung der ersten Zahl in Stunden
                                                        var uptimeInSeconds = parseFloat(stdout.split(' ')[0]);
                                                        var uptimeInHours = (uptimeInSeconds / 3600).toFixed(2);
                                            
                                                        // Speichern des umgerechneten Wertes in ioBroker
                                                        updateOrCreateState(dataPath + ".uptime", uptimeInHours, function () {});
                                                    } else {
                                                        log("Fehler beim Abrufen der Uptime: " + error);
                                                    }
                                                });
                                            }
                                            
                                            // Initialer Aufruf der Funktionen
                                            saveCPUTemperature();
                                            saveUptime();
                                            
                                            // Zeitplan für die regelmäßige Ausführung
                                            schedule("*/5 * * * *", saveCPUTemperature); // Alle 5 Minuten die CPU-Temperatur abrufen und speichern
                                            schedule("*/10 * * * *", saveUptime); // Alle 10 Minuten die Uptime abrufen und speichern
                                            
                                            1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

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

                                            899
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            abkündigung deprecated
                                            29
                                            125
                                            14259
                                            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