Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Hardware für Anfänger

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hardware für Anfänger

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @skokarl last edited by Homoran

      @skokarl sagte in Hardware für Anfänger:

      versuche mal das von Segway erwähnte htop

      Das auszuwerten wird nicht leicht!

      Ich habe damals den RPi2-Adapter modifiziert, einiges über den Parser und einiges per Blockly/Node-red ausgelesen

      NUC_load_03.png

      Habe das aber nie wirklich komplett fertiggestellt, daher sind einige Gauges nicht aktiv. Diese Ansicht habe ich einheitlich für alle meine Installationen (gehabt)

      1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @skokarl last edited by

        @skokarl vielleicht hilft dir sowas ja schon

        var pfad = "Systeminfos.ioBroker.Prozesse" + "."; // Pfad in dem die Datenpunkte angelegt werden

        // Datenpunktnamen:
        var idProzesse = pfad + 'ioBroker_Prozesse';
        var idMemAll = pfad + 'ioBroker_Speicher_gesamt';
        var idAnzProzesse = pfad + 'ioBroker_Anzahl_Prozesse';
        var idCpuAll = pfad + 'ioBroker_CPU_Gesamt';
        var idMemPercent = pfad + 'ioBroker_Speicher_prozentual';
        var idInstanzenEinmal = pfad + 'ioBroker_Instanzen_einmal_aktiv';

        // regelmässige Wiederholungen der Abfrage
        var cronStr = "*/2 * * * *";

        var abfrage = 'ps -A aux --sort -pmem | grep " [i]o.*"';

        // -----------------------------------------------------------------------------

        createState(idProzesse, "", {
        name: 'ioBroker laufende Prozesse Objekt',
        desc: 'ioBroker laufende Prozesse Objekt, Speicherverbrauch',
        type: 'string',
        unit: '',
        role: 'object'
        });

        createState(idMemAll, 0, {
        name: 'ioBroker Speicherverbrauch gesamt',
        desc: 'ioBroker Speicherverbrauch gesamt (RSS)',
        type: 'number',
        unit: 'MB',
        role: 'value'
        });

        createState(idAnzProzesse, 0, {
        name: 'ioBroker Anzahl Prozesse',
        desc: 'ioBroker Anzahl aktiver Prozesse',
        type: 'number',
        unit: '',
        role: 'value'
        });

        createState(idCpuAll, 0.0, {
        name: 'ioBroker CPU-Last gesamt',
        desc: 'ioBroker CPU-Last gesamt',
        type: 'number',
        unit: '%',
        role: 'value'
        });

        createState(idMemPercent, 0.0, {
        name: 'Speicherverbrauch prozentual',
        desc: 'Speicherverbrauch prozentual',
        type: 'number',
        unit: '%',
        role: 'value'
        });

        createState(idInstanzenEinmal, true, {
        name: 'keine Instanzen doppelt aktiv',
        desc: 'jeder aktive ioBroker Prozess ist nur einmal aktiv',
        type: 'boolean',
        unit: '',
        role: 'value'
        });

        // -----------------------------------------------------------------------------

        function doppelteProzesse(arr) {
        var mehrfacheProzesse = [];
        var anzProzesse = (arr.length);
        var anzProzessAktiv = 0;
        for (var i = 0; i < anzProzesse; i++) {
        if (mehrfacheProzesse.indexOf(arr[i].command) == -1) {
        anzProzessAktiv = zaehleProzesse(arr,arr[i].command);
        if (anzProzessAktiv > 1) {
        log("Prozess: " + arr[i].command+", mehrfach aktiv: " + anzProzessAktiv +" mal","warn");
        mehrfacheProzesse.push(arr[i].command);
        mehrfacheProzesse.push(anzProzessAktiv);
        }
        }
        }
        return mehrfacheProzesse;
        }

        function zaehleProzesse(arr,command) {
        var count = 0;
        var anzProzesse = (arr.length);
        for (var i = 0; i < anzProzesse; i++) {
        if(arr[i].command === command) {
        count++;
        }
        }
        return count;
        }

        function writeJson(json) {
        return JSON.stringify(json); // JSON in String umwandeln, damit das JSON in einem Datenpunkt geschrieben werden kann
        }

        function getMemAbsolut(json) {
        var anzProzesse = (json.length);
        var mem = 0;
        for (var i = 0; i < anzProzesse; i++) {
        mem = mem + json[i].rss;
        }
        return mem;
        }

        function getCpu(json) {
        var anzProzesse = (json.length);
        var cpu = 0.0;
        for (var i = 0; i < anzProzesse; i++) {
        cpu = cpu + json[i].cpu;
        }
        return cpu;
        }

        function getMem(json) {
        var anzProzesse = (json.length);
        var mem = 0.0;
        for (var i = 0; i < anzProzesse; i++) {
        mem = mem + json[i].mem;
        }
        return mem;
        }

        function createArrayJson(arr) {
        var jsonArr = [];
        var anzDP = 11; // Anzahl Datenreihen in der Abfrage
        var anzProzesse = (arr.length-1)/anzDP;

        for (var i = 0; i < anzProzesse; i++) {
            jsonArr.push({
                command:    arr[10 + i*anzDP],              // ioBroker Prozess (COMMAND = Kommando, mit dem der Prozess gestartet wurde)
                pid:        arr[ 1 + i*anzDP],              // Prozess ID
                cpu:        parseFloat(arr[ 2 + i*anzDP]),  // aktueller CPU-Last in %
                mem:        parseFloat(arr[ 3 + i*anzDP]),  // aktueller Verbrauch physikalischer Speicher %
                vmem:       parseInt(arr[ 4 + i*anzDP]),    // 
                rss:        parseInt(arr[ 5 + i*anzDP]),    // physikalische Speichernutzung
                start:      arr[ 8 + i*anzDP],              // Startzeitpunkt des Prozesses
                time:       arr[ 9 + i*anzDP]               // bisher verbrauchte CPU Zeit
            });
        }
        return jsonArr;
        

        }

        function abfrageConsole() {
        exec(abfrage, function(err, stdout, stderr) {
        if (err) {
        log(err,"error");
        return;
        }
        stdout = stdout.replace(/\n+/g, " "); // neue Zeile gegen Leerzeichen ersetzen
        stdout = stdout.split(/ +/g); // array erstellen, Leerzeichen als Trenner

            var anzProzesse = (stdout.length-1) / 11;
            
            //log(stdout);
            //log("Anzahl laufender ioBroker Prozesse: " + anzProzesse);
            
            var jsonArr = createArrayJson(stdout);
            var mem         = Math.floor(getMemAbsolut(jsonArr)/1024);
            var cpu         = Math.floor(getCpu(jsonArr)*10)/10;
            var memPercent  = Math.floor(getMem(jsonArr)*10)/10;
        
            var doppeltArr = doppelteProzesse(jsonArr);
            
            if(doppeltArr.length === 0) {
                setState(idInstanzenEinmal,true);
            } else {
                setState(idInstanzenEinmal,false);
            }
        
            setState(idProzesse     ,writeJson(jsonArr));
            setState(idMemAll       ,mem);
            setState(idAnzProzesse  ,anzProzesse);
            setState(idCpuAll       ,cpu);
            setState(idMemPercent   ,memPercent);
        });
        

        }

        function abfragen() {
        abfrageConsole();
        }

        // regelmässige Wiederholungen
        // -----------------------------------------------------------------------------
        schedule(cronStr, abfragen);

        // main
        // -----------------------------------------------------------------------------
        function main() {
        abfragen();
        }

        // Start Skript:
        // -----------------------------------------------------------------------------

        setTimeout(main, 500);

        Homoran 1 Reply Last reply Reply Quote 1
        • Segway
          Segway @skokarl last edited by

          @skokarl sagte in Hardware für Anfänger:

          Ich will CPU und RAM sehen

          Auf der Konsole oder im IoBroker ?

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

            @crunchip
            Das werde ich auch mal testen, ich habe da ein anderes Skript (ich glaupe von ruihr70) laufen:
            cubie_data.png

            1 Reply Last reply Reply Quote 1
            • S
              skokarl last edited by

              Hey, was habt ihr da für geile Sachen,
              ihr solltet das zusammen mal richtig als Adapter fertig machen 🙂

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

                @skokarl
                Wollte ich seit Jahren machen, wenn ich endlich javascript gelernt habe 😉

                1 Reply Last reply Reply Quote 0
                • TheDuke
                  TheDuke @skokarl last edited by

                  @skokarl sagte in Hardware für Anfänger:

                  mit welchem Tool kann ich mir die Auslastung der NUC anzeigen lassen ?

                  das hat ja nix mit der Nuc zu tun. Einfach auf deine Leiste mit der rechten Maustaste klicken und den Systemmonitor hinzufügen .

                  sieht dann so aus in der Leiste:
                  Bildschirmfoto vom 2019-02-24 16-20-01.png
                  und wenn du den aufrufst so :
                  Bildschirmfoto vom 2019-02-24 16-17-57.png

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

                    @TheDuke sagte in Hardware für Anfänger:

                    Einfach auf deine Leiste mit der rechten Maustaste klicken

                    Das setzt aber eine GUI voraus.
                    Bei einer headless Server-Installation geht das so nicht.

                    Und wenn die Daten in ioBroker übernommen (und dort evtl. geloggt) werden sollen nutzt das auch nichts

                    1 Reply Last reply Reply Quote 0
                    • TheDuke
                      TheDuke last edited by

                      Ich denke mal er will nur erstmal Infos über sein laufendes System haben und er hat ja eine GUI am laufen. Kein Proxmox .

                      schaun wir mal 🙂

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

                        @TheDuke sagte in Hardware für Anfänger:

                        er hat ja eine GUI am laufen. Kein Proxmox .

                        Diese Kombination ist nicht zwingend.

                        Ich habe auch Debian nativ auf einem NUC, jedoch OHNE GUI

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          skokarl @Homoran last edited by

                          @Homoran sagte in Hardware für Anfänger:

                          @TheDuke sagte in Hardware für Anfänger:

                          er hat ja eine GUI am laufen. Kein Proxmox .

                          Diese Kombination ist nicht zwingend.

                          Ich habe auch Debian nativ auf einem NUC, jedoch OHNE GUI

                          Jipp..... Gnome habe ich auch nach zwei Stunden deinstalliert.
                          Wenn schon Linux, dann richtig.💪

                          1 Reply Last reply Reply Quote 0
                          • TheDuke
                            TheDuke last edited by TheDuke

                            War mir kurz langweilig ....... habe ich eine weiter VM mit motionEye mit drei Kameras drauf geballert .
                            Was soll ich sagen, der NUC langweilt sich noch immer 🙂
                            Geile Hardware !!
                            Bildschirmfoto vom 2019-03-02 18-43-45.png

                            Bildschirmfoto vom 2019-03-02 18-48-33.png

                            1 Reply Last reply Reply Quote 0
                            • S
                              skokarl last edited by skokarl

                              😀 😀 👍

                              wenn ich mal mehr Ahnung habe installiere ich auch noch Proxmox

                              1 Reply Last reply Reply Quote 0
                              • madjack84
                                madjack84 last edited by

                                mal sehen ob wir nen Überblick zusammen bekommen.
                                Gerne mal bei de Umfrage mitmachen:

                                https://forum.iobroker.net/topic/21524/umfrage-zur-hardware-eurer-iobroker-installation

                                1 Reply Last reply Reply Quote 0
                                • S
                                  skokarl @TheDuke last edited by skokarl

                                  @TheDuke sagte in Hardware für Anfänger:

                                  Ich denke mal er will nur erstmal Infos über sein laufendes System haben und er hat ja eine GUI am laufen. Kein Proxmox .

                                  schaun wir mal 🙂

                                  Grüß Dich "TheDuke,"
                                  lange nix gehört, es ist viel passiert. 😀
                                  Bei mir läuft mittlerweile auch Proxmox, geile Sache.
                                  Sag mal, kann man die VM nicht komplett exportieren, oder als ISO sichern oderso ?
                                  An der Arbeit hab ich VMWare, da ist das möglich, bei Proxmox finde ich das nicht.
                                  Hintergrund ist eigentlich nur die VM komplett auf ne NAS zu schieben ...
                                  Gruß Bernd

                                  BBTown TheDuke 2 Replies Last reply Reply Quote 0
                                  • BBTown
                                    BBTown @skokarl last edited by BBTown

                                    @skokarl Du kannst unter Proxmox bspw. NAS-Verzeicnisse einbinden (CIFS oder NFS).
                                    dabei kannst Du angeben welche Dateien auf welches Verzeichnis sollen (z.B. Backup). Wenn Du nun ein (regelmäßiiges?) Backup dorthin erstellst, dann kannst Du diese Snapshots benutzen um zu einem Zustand zurückzukehren.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      skokarl @BBTown last edited by

                                      @BBTown sagte in Hardware für Anfänger:

                                      @skokarl Du kannst unter Proxmox bspw. NAS-Verzeicnisse einbinden (CIFS oder NFS).

                                      Ja, das hatte ich schon verstanden und auch gemacht.
                                      Backups funktionieren, ich habe nur noch nicht den Typ Backup hinbekommen aus dem ich
                                      nachher eine VM komplett wieder herstellen kann.

                                      also, neue VM erstellen..... aus Backup.... und nicht eine VM erstellen um dann ein Backup einzuspielen.

                                      Es gibt bei den Backup-Typen den Typ ISO, das klingt schon so, seltsamerweise wird mir bei ISO
                                      meine NAS nicht angeboten... trotz Freigaben CIFS. Irgendwie blicke ich noch nicht ganz durch.

                                      BBTown 1 Reply Last reply Reply Quote 0
                                      • BBTown
                                        BBTown @skokarl last edited by

                                        @skokarl bin jtzt nicht sicher ob ich dich richtig verstehe.
                                        Wenn Du auf das Backup-Laufwerk gehst und Du dir den Inhalt anzeigen läßt, dann kannst Du "Zurückspielen" auswähen.
                                        Nun kannst Du beim Zurückspielen eine neue/andere ID angeben und schon hast Du zwei separate VMs
                                        Meine Backups sind vom Typ "Snapshot"

                                        Unter ISO`s findest Du Installationsimages wie bspw. Win10, Debian, Ubunto usw.

                                        S 2 Replies Last reply Reply Quote 1
                                        • S
                                          skokarl @BBTown last edited by

                                          @BBTown sagte in Hardware für Anfänger:

                                          @skokarl bin jtzt nicht sicher ob ich dich richtig verstehe.

                                          Glaube Du hast mich verstanden, das probiere ich nachher mal. Danke

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            skokarl @BBTown last edited by skokarl

                                            @BBTown sagte in Hardware für Anfänger:

                                            @skokarl bin jtzt nicht sicher ob ich dich richtig verstehe.

                                            Nun kannst Du beim Zurückspielen eine neue/andere ID angeben und schon hast Du zwei separate VMs
                                            Meine Backups sind vom Typ "Snapshot"

                                            Ich bin doch zu blöd.
                                            Der Button zurückspielen wird nur enable, wenn ich meine VM 100 IOBroker gewählt habe,
                                            und dann will er auch keine neue VM machen, sondern ein Backup auf die 100 zurückspielen.

                                            1.PNG

                                            Nutzt Du einen anderen Backup Typ als ich ?

                                            BBTown 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            796
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            246
                                            26554
                                            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