Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Hardware für Anfänger

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Hardware für Anfänger

Geplant Angeheftet Gesperrt Verschoben Hardware
246 Beiträge 15 Kommentatoren 35.6k Aufrufe 13 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    skokarl
    schrieb am zuletzt editiert von
    #208

    doch... auch in Deinem Link übergibst Du User und Pass ...
    und das ist nicht mehr in jedem Browser erlaubt.

    Kann bei meiner Hikvision die RTSP Authentifizierung abschalten, teste ich jetzt mal

    vom Entwickler Fully Browser
    "
    If your webcam video requires Basic HTTP Authentication (it’s URL starts with http://user:auth@host…) and you embed this video in your page by using the <img> oder <video> tag it probably won’t work as the authentication for embedded contents is not allowed in Android Webview (as well as in Google Chrome on Android) for security reasons. For more information please read the discussion on this topic at Chromium Bugtracker. This is something Fully can’t change. The only known workaround is using the video proxy."

    IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

    TheDukeT 1 Antwort Letzte Antwort
    0
    • S skokarl

      doch... auch in Deinem Link übergibst Du User und Pass ...
      und das ist nicht mehr in jedem Browser erlaubt.

      Kann bei meiner Hikvision die RTSP Authentifizierung abschalten, teste ich jetzt mal

      vom Entwickler Fully Browser
      "
      If your webcam video requires Basic HTTP Authentication (it’s URL starts with http://user:auth@host…) and you embed this video in your page by using the <img> oder <video> tag it probably won’t work as the authentication for embedded contents is not allowed in Android Webview (as well as in Google Chrome on Android) for security reasons. For more information please read the discussion on this topic at Chromium Bugtracker. This is something Fully can’t change. The only known workaround is using the video proxy."

      TheDukeT Offline
      TheDukeT Offline
      TheDuke
      schrieb am zuletzt editiert von TheDuke
      #209

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

      doch... auch in Deinem Link übergibst Du User und Pass ...
      und das ist nicht mehr in jedem Browser erlaubt.

      du musst doch im Vis-edit das als Widgets import einbauen und nur da ist dann die PW-Geschichte. Ich glaube wir reden aneinander vorbei

      schöne Grüße TheDuke ;)

      1 Antwort Letzte Antwort
      0
      • TheDukeT Offline
        TheDukeT Offline
        TheDuke
        schrieb am zuletzt editiert von
        #210

        kannst du dir mal ansehen, das müßte erklären wie man die Einzelbilder bekommt .
        hikvision-kamera-einzelbild-abrufen

        schöne Grüße TheDuke ;)

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          skokarl
          schrieb am zuletzt editiert von
          #211

          Ja, wir reden aneinander vorbei.
          Ich weiß wo ich ein Bild herkriege, und auch wo ich den rtsp Stream herkriege.
          Aber nicht jeder Browser zeigt das dann auch an, hat mit Android Sicherheitsmerkmalen zu tun.
          Richtig verstanden habe ich es aber auch noch nicht.
          Wo und wie zeigst Du Deine VIS an ? Tablet ? Android ? Welcher Browser ?

          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

          1 Antwort Letzte Antwort
          0
          • TheDukeT Offline
            TheDukeT Offline
            TheDuke
            schrieb am zuletzt editiert von
            #212

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

            Fully Browser

            den habe ich gerade auf meinem Handy installiert und was soll ich sagen, der funktioniert !!

            schöne Grüße TheDuke ;)

            S 1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Marty56
              schrieb am zuletzt editiert von
              #213

              Ich kann es mir fast nicht vorstellen, dass ein Raspi für ioBroker von der Performance zu langsam ist.
              Was natürlich passieren kann, ist, dass das RAM zu klein wird.

              Aber bevor ich mir sofort einen NUC kaufen würde, würde ich vielleicht noch ein paar Wochen warten und dann den Compact Mode ausprobieren.

              Der sollte den RAM Bedarf signifikant reduzieren und damit den Kauf neuer Hardware überflüssig machen.

              HW:NUC (16 GB Ram)
              OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

              S 1 Antwort Letzte Antwort
              0
              • TheDukeT TheDuke

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

                Fully Browser

                den habe ich gerade auf meinem Handy installiert und was soll ich sagen, der funktioniert !!

                S Offline
                S Offline
                skokarl
                schrieb am zuletzt editiert von skokarl
                #214

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

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

                Fully Browser

                den habe ich gerade auf meinem Handy installiert und was soll ich sagen, der funktioniert !!

                Was ist das für eine Cam
                rtsp Stream ?, h264 oder mpeg ? oder Bild ? jpeg ?

                Du hast ein Iphone, :-) ?, ...lach, da geht das nämlich,
                das ist ein Android Problem.

                IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                TheDukeT 1 Antwort Letzte Antwort
                0
                • M Marty56

                  Ich kann es mir fast nicht vorstellen, dass ein Raspi für ioBroker von der Performance zu langsam ist.
                  Was natürlich passieren kann, ist, dass das RAM zu klein wird.

                  Aber bevor ich mir sofort einen NUC kaufen würde, würde ich vielleicht noch ein paar Wochen warten und dann den Compact Mode ausprobieren.

                  Der sollte den RAM Bedarf signifikant reduzieren und damit den Kauf neuer Hardware überflüssig machen.

                  S Offline
                  S Offline
                  skokarl
                  schrieb am zuletzt editiert von
                  #215

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

                  Ich kann es mir fast nicht vorstellen, dass ein Raspi für ioBroker von der Performance zu langsam ist.
                  Was natürlich passieren kann, ist, dass das RAM zu klein wird.

                  Aber bevor ich mir sofort einen NUC kaufen würde, würde ich vielleicht noch ein paar Wochen warten und dann den Compact Mode ausprobieren.

                  Der sollte den RAM Bedarf signifikant reduzieren und damit den Kauf neuer Hardware überflüssig machen.

                  alles gut. Man muss im Leben auch mal was gönnen und spielen. :-)

                  IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                  1 Antwort Letzte Antwort
                  0
                  • S skokarl

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

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

                    Fully Browser

                    den habe ich gerade auf meinem Handy installiert und was soll ich sagen, der funktioniert !!

                    Was ist das für eine Cam
                    rtsp Stream ?, h264 oder mpeg ? oder Bild ? jpeg ?

                    Du hast ein Iphone, :-) ?, ...lach, da geht das nämlich,
                    das ist ein Android Problem.

                    TheDukeT Offline
                    TheDukeT Offline
                    TheDuke
                    schrieb am zuletzt editiert von
                    #216

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

                    Was ist das für eine Cam
                    rtsp Stream ?, h264 oder mpeg ? oder Bild ? jpeg ?

                    nein wir reden ja von Bildern (jpeg) pro Sekunde !!

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

                    Du hast ein Iphone, ?, ...lach, da geht das nämlich,
                    das ist ein Android Problem.

                    Ich habe ein Samsung S9+ mit Android :-) und es funktioniert !

                    schöne Grüße TheDuke ;)

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      skokarl
                      schrieb am zuletzt editiert von
                      #217

                      Moin,

                      mit welchem Tool kann ich mir die Auslastung der NUC anzeigen lassen ?
                      und wie installiere ich das auf der NUC ?

                      Danke

                      IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                      HomoranH TheDukeT 2 Antworten Letzte Antwort
                      0
                      • S skokarl

                        Moin,

                        mit welchem Tool kann ich mir die Auslastung der NUC anzeigen lassen ?
                        und wie installiere ich das auf der NUC ?

                        Danke

                        HomoranH Offline
                        HomoranH Offline
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #218

                        @skokarl
                        Wie meinst du das genau?

                        Wenn du proxmox verwendest geht das mit dem proxmox Adapter, wenn du Linux nativ drauf hast, geht das "ganz normal".

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        S 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @skokarl
                          Wie meinst du das genau?

                          Wenn du proxmox verwendest geht das mit dem proxmox Adapter, wenn du Linux nativ drauf hast, geht das "ganz normal".

                          S Offline
                          S Offline
                          skokarl
                          schrieb am zuletzt editiert von
                          #219

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

                          @skokarl
                          Wie meinst du das genau?

                          Wenn du proxmox verwendest geht das mit dem proxmox Adapter, wenn du Linux nativ drauf hast, geht das "ganz normal".

                          Sorry, nein, Promox hab ich nicht drauf, nur Debian Linux.
                          Und von Linux hab ich bisher wenig Ahnung.
                          Gibt es da einen Befehl ?

                          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                          SegwayS HomoranH 2 Antworten Letzte Antwort
                          0
                          • S skokarl

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

                            @skokarl
                            Wie meinst du das genau?

                            Wenn du proxmox verwendest geht das mit dem proxmox Adapter, wenn du Linux nativ drauf hast, geht das "ganz normal".

                            Sorry, nein, Promox hab ich nicht drauf, nur Debian Linux.
                            Und von Linux hab ich bisher wenig Ahnung.
                            Gibt es da einen Befehl ?

                            SegwayS Offline
                            SegwayS Offline
                            Segway
                            schrieb am zuletzt editiert von
                            #220

                            @skokarl

                            Mhhh, was möchtest du denn machen ? Einfach nur so mal auf dein System schauen ? Dann kann man das nützliche Tool top oder htop benutzen / installieren.

                            Wenn du es in IoBroker haben willst dann ganz herkömmlich.

                            Gruß Dirk
                            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                            1 Antwort Letzte Antwort
                            1
                            • S skokarl

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

                              @skokarl
                              Wie meinst du das genau?

                              Wenn du proxmox verwendest geht das mit dem proxmox Adapter, wenn du Linux nativ drauf hast, geht das "ganz normal".

                              Sorry, nein, Promox hab ich nicht drauf, nur Debian Linux.
                              Und von Linux hab ich bisher wenig Ahnung.
                              Gibt es da einen Befehl ?

                              HomoranH Offline
                              HomoranH Offline
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #221

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

                              Gibt es da einen Befehl ?

                              Viele ;-)

                              kommt darauf an was genau du unter Auslastung verstehst

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              S 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

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

                                Gibt es da einen Befehl ?

                                Viele ;-)

                                kommt darauf an was genau du unter Auslastung verstehst

                                S Offline
                                S Offline
                                skokarl
                                schrieb am zuletzt editiert von
                                #222

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

                                kommt darauf an was genau du unter Auslastung verstehst

                                Ich will CPU und RAM sehen, versuche mal das von Segway erwähnte htop

                                IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                HomoranH crunchipC SegwayS 3 Antworten Letzte Antwort
                                0
                                • S skokarl

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

                                  kommt darauf an was genau du unter Auslastung verstehst

                                  Ich will CPU und RAM sehen, versuche mal das von Segway erwähnte htop

                                  HomoranH Offline
                                  HomoranH Offline
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von Homoran
                                  #223

                                  @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)

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • S skokarl

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

                                    kommt darauf an was genau du unter Auslastung verstehst

                                    Ich will CPU und RAM sehen, versuche mal das von Segway erwähnte htop

                                    crunchipC Abwesend
                                    crunchipC Abwesend
                                    crunchip
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #224

                                    @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);

                                    umgestiegen von Proxmox auf Unraid

                                    HomoranH 1 Antwort Letzte Antwort
                                    1
                                    • S skokarl

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

                                      kommt darauf an was genau du unter Auslastung verstehst

                                      Ich will CPU und RAM sehen, versuche mal das von Segway erwähnte htop

                                      SegwayS Offline
                                      SegwayS Offline
                                      Segway
                                      schrieb am zuletzt editiert von
                                      #225

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

                                      Ich will CPU und RAM sehen

                                      Auf der Konsole oder im IoBroker ?

                                      Gruß Dirk
                                      Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                      1 Antwort Letzte Antwort
                                      0
                                      • crunchipC crunchip

                                        @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);

                                        HomoranH Offline
                                        HomoranH Offline
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #226

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

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        1
                                        • S Offline
                                          S Offline
                                          skokarl
                                          schrieb am zuletzt editiert von
                                          #227

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

                                          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                          HomoranH 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          337

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe