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. Visualisierung
  4. [Vorstellung] Meine zweite Visualisierung

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.9k

[Vorstellung] Meine zweite Visualisierung

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
1.3k Beiträge 148 Kommentatoren 549.8k Aufrufe 157 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.
  • K Kuddel

    @sigi234 die Grafik selber muss man sich natürlich in Flot zusammen bauen.

    Voraussetzung ist natürlich, das der Wert, der grafisch dargestellt werden soll, per History.Adapter geloggt wird.

    Hier ein Beisoiel für die CPU Auslastung vom ioBroker:

    f03305a8-663a-4926-8542-422ecce1eebe-grafik.png

    d0908921-5377-4140-9a21-f213d278a45b-grafik.png

    e75ddc9f-08c1-42ad-b44d-b1a8895646fc-grafik.png

    Dann am ende alles makieren und im VIS Wisget einfügen:
    261fad4e-bed9-470f-926c-6341e4dbc830-grafik.png

    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #465

    @Kuddel

    Aha......ok dachte die sind dabei.....

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    K 1 Antwort Letzte Antwort
    0
    • sigi234S sigi234

      @Kuddel

      Aha......ok dachte die sind dabei.....

      K Offline
      K Offline
      Kuddel
      schrieb am zuletzt editiert von
      #466

      @sigi234 leider nein, Ist ja ein VIS-Export, kein Flot-Export.

      Ich könnte natürlich jetzt für alle meiner Graphen die Links posten, ich weiß nur nicht, ob die dann auch bei euch funzen.

      sigi234S 1 Antwort Letzte Antwort
      0
      • K Kuddel

        @sigi234 leider nein, Ist ja ein VIS-Export, kein Flot-Export.

        Ich könnte natürlich jetzt für alle meiner Graphen die Links posten, ich weiß nur nicht, ob die dann auch bei euch funzen.

        sigi234S Online
        sigi234S Online
        sigi234
        Forum Testing Most Active
        schrieb am zuletzt editiert von sigi234
        #467

        @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

        @sigi234 leider nein, Ist ja ein VIS-Export, kein Flot-Export.

        Ich könnte natürlich jetzt für alle meiner Graphen die Links posten, ich weiß nur nicht, ob die dann auch bei euch funzen.

        Das geht, man muss sie aber anpassen .........

        Nicht alle aber eines um das Design zu erhalten............

        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Immer Daten sichern!

        1 Antwort Letzte Antwort
        0
        • K Kuddel

          @sigi234 ja genau. leider ohne Icons. habe noch keinen weg gefunden, das alles in einem Paket hoch zu laden

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von
          #468

          @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

          @sigi234 ja genau. leider ohne Icons. habe noch keinen weg gefunden, das alles in einem Paket hoch zu laden

          Habe gerade dein Projekt importiert (nach deiner Vorgehensweise).
          Leider funktioniert das nicht.
          Er meldet, dass die vis-view.json nicht gefunden wird.
          Sie ist aber im neuen Zip enthalten.

          ° Node.js: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

          K 1 Antwort Letzte Antwort
          0
          • NegaleinN Negalein

            @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

            @sigi234 ja genau. leider ohne Icons. habe noch keinen weg gefunden, das alles in einem Paket hoch zu laden

            Habe gerade dein Projekt importiert (nach deiner Vorgehensweise).
            Leider funktioniert das nicht.
            Er meldet, dass die vis-view.json nicht gefunden wird.
            Sie ist aber im neuen Zip enthalten.

            K Offline
            K Offline
            Kuddel
            schrieb am zuletzt editiert von
            #469

            @Negalein komisch. bei mir hat es funktioniert

            NegaleinN 1 Antwort Letzte Antwort
            0
            • K Kuddel

              @Negalein komisch. bei mir hat es funktioniert

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              schrieb am zuletzt editiert von
              #470

              @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

              @Negalein komisch. bei mir hat es funktioniert

              Ich mach jetzt nochmal einen Download.
              Die Datei ohne den Icons funktioniert auch nicht.

              Wie groß ist die bei dir?

              ° Node.js: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

              K 1 Antwort Letzte Antwort
              0
              • NegaleinN Negalein

                @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                @Negalein komisch. bei mir hat es funktioniert

                Ich mach jetzt nochmal einen Download.
                Die Datei ohne den Icons funktioniert auch nicht.

                Wie groß ist die bei dir?

                K Offline
                K Offline
                Kuddel
                schrieb am zuletzt editiert von
                #471

                @Negalein habe gerade beide Datein neu heruntergeladen.

                1. Import ohne Icons: Funzt
                2. Neues Archiv mit VIS und Icons erstell und importiert: Funzt auch
                NegaleinN 1 Antwort Letzte Antwort
                0
                • K Kuddel

                  @Negalein habe gerade beide Datein neu heruntergeladen.

                  1. Import ohne Icons: Funzt
                  2. Neues Archiv mit VIS und Icons erstell und importiert: Funzt auch
                  NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #472

                  @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                  @Negalein habe gerade beide Datein neu heruntergeladen.

                  1. Import ohne Icons: Funzt
                  2. Neues Archiv mit VIS und Icons erstell und importiert: Funzt auch

                  dürfte beim Download was schief gegangen sein.
                  Jetzt hat es geklappt.

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  1 Antwort Letzte Antwort
                  0
                  • NashraN Offline
                    NashraN Offline
                    Nashra
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #473

                    Hallo @Kuddel
                    zu Ram in Prozent finde ich leider keinen Datenpunkt im Info-Adapter.
                    Wie hast Du das gemacht?

                    Gruß Ralf
                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

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

                    K 1 Antwort Letzte Antwort
                    0
                    • NashraN Nashra

                      Hallo @Kuddel
                      zu Ram in Prozent finde ich leider keinen Datenpunkt im Info-Adapter.
                      Wie hast Du das gemacht?

                      K Offline
                      K Offline
                      Kuddel
                      schrieb am zuletzt editiert von
                      #474

                      @Nashra das habe ich eben per Blocky aus den Daten vom Info Adapter errechnet. Man benötigt ja nur gesamt RAM und aktuell verwendeten

                      NashraN 1 Antwort Letzte Antwort
                      0
                      • K Kuddel

                        @Nashra das habe ich eben per Blocky aus den Daten vom Info Adapter errechnet. Man benötigt ja nur gesamt RAM und aktuell verwendeten

                        NashraN Offline
                        NashraN Offline
                        Nashra
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von
                        #475

                        @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                        @Nashra das habe ich eben per Blocky aus den Daten vom Info Adapter errechnet. Man benötigt ja nur gesamt RAM und aktuell verwendeten

                        Achduje, in Blockly mal reingesehen aber keinen Plan wie sowas geht :thinking_face:
                        Wärst Du so nett... :grinning:

                        Gruß Ralf
                        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

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

                        crunchipC K 2 Antworten Letzte Antwort
                        0
                        • NashraN Nashra

                          @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                          @Nashra das habe ich eben per Blocky aus den Daten vom Info Adapter errechnet. Man benötigt ja nur gesamt RAM und aktuell verwendeten

                          Achduje, in Blockly mal reingesehen aber keinen Plan wie sowas geht :thinking_face:
                          Wärst Du so nett... :grinning:

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

                          @Nashra vllt hilft dir sowas

                          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

                          NashraN 1 Antwort Letzte Antwort
                          0
                          • crunchipC crunchip

                            @Nashra vllt hilft dir sowas

                            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);
                            
                            
                            NashraN Offline
                            NashraN Offline
                            Nashra
                            Most Active Forum Testing
                            schrieb am zuletzt editiert von
                            #477

                            @crunchip sagte in [Vorstellung] Meine zweite Visualisierung:

                            @Nashra vllt hilft dir sowas

                            Klasse, läuft, ich Danke dir :+1:

                            Gruß Ralf
                            Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

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

                            1 Antwort Letzte Antwort
                            0
                            • NashraN Nashra

                              @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                              @Nashra das habe ich eben per Blocky aus den Daten vom Info Adapter errechnet. Man benötigt ja nur gesamt RAM und aktuell verwendeten

                              Achduje, in Blockly mal reingesehen aber keinen Plan wie sowas geht :thinking_face:
                              Wärst Du so nett... :grinning:

                              K Offline
                              K Offline
                              Kuddel
                              schrieb am zuletzt editiert von
                              #478

                              @Nashra in Blocky sieht es dann so aus:

                              48dc24e3-cbb6-41c9-bb58-447e2b8aa392-grafik.png

                              NashraN M 2 Antworten Letzte Antwort
                              2
                              • K Kuddel

                                @Nashra in Blocky sieht es dann so aus:

                                48dc24e3-cbb6-41c9-bb58-447e2b8aa392-grafik.png

                                NashraN Offline
                                NashraN Offline
                                Nashra
                                Most Active Forum Testing
                                schrieb am zuletzt editiert von
                                #479

                                @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                                @Nashra in Blocky sieht es dann so aus:

                                48dc24e3-cbb6-41c9-bb58-447e2b8aa392-grafik.png

                                :+1:

                                Gruß Ralf
                                Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

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

                                1 Antwort Letzte Antwort
                                0
                                • K Kuddel

                                  @Nashra in Blocky sieht es dann so aus:

                                  48dc24e3-cbb6-41c9-bb58-447e2b8aa392-grafik.png

                                  M Offline
                                  M Offline
                                  markus-now
                                  schrieb am zuletzt editiert von
                                  #480

                                  @Kuddel
                                  Hallo Kuddel,
                                  Erst auch mal von mir ein Dankeschön für so eine geniale Arbeit und das du, dass Projekt zur Verfügung gestellt hast.
                                  Ich arbeite mich gerade durch das Briefkasten Skript und versuche zu verstehen, warum du mit post 0 falsch beginnt.
                                  kannst du mir da den ablauf etwas schildern arbeite noch nicht so lange mit ioBroker aber versuche intensiv zu lernen da kommt natürlisch so ein super projekt genau richtig.
                                  Kannst du mir da den Ablauf etwas schildern arbeite noch nicht so lange mit ioBroker aber versuche intensiv zu lernen da kommt natürlich so ein super Projekt genau richtig.

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • M markus-now

                                    @Kuddel
                                    Hallo Kuddel,
                                    Erst auch mal von mir ein Dankeschön für so eine geniale Arbeit und das du, dass Projekt zur Verfügung gestellt hast.
                                    Ich arbeite mich gerade durch das Briefkasten Skript und versuche zu verstehen, warum du mit post 0 falsch beginnt.
                                    kannst du mir da den ablauf etwas schildern arbeite noch nicht so lange mit ioBroker aber versuche intensiv zu lernen da kommt natürlisch so ein super projekt genau richtig.
                                    Kannst du mir da den Ablauf etwas schildern arbeite noch nicht so lange mit ioBroker aber versuche intensiv zu lernen da kommt natürlich so ein super Projekt genau richtig.

                                    K Offline
                                    K Offline
                                    Kuddel
                                    schrieb am zuletzt editiert von
                                    #481

                                    @markus-now in meinem Briefkasten sitz ein Homematic Fensterkontakt, der auslöst, wenn der Postbote den Deckel vom Breifkasten öffnet.

                                    Dann wird das Datenobjekt "Post" auf wahr geschaltet (wahr = post eingeworfen).

                                    Ebenso bekomme ich direkt eine Mail, dass die Post da ist.

                                    Das Ganze ist in meinen Augen total simpel.

                                    K M 2 Antworten Letzte Antwort
                                    0
                                    • K Kuddel

                                      Mit dem Objekt stelle ich den aktuellen Status der Waschmaschine da;

                                      0=aus

                                      1=an

                                      2=timer

                                      3=fertig

                                      A Offline
                                      A Offline
                                      Alero
                                      schrieb am zuletzt editiert von Alero
                                      #482

                                      @Kuddel
                                      Hallo Kuddel,
                                      erste einmal Daumen hoch für die mega geile Arbeit.
                                      ich möchte hier noch einmal einhaken (waschmaschine).
                                      Dein Projekt habe ich importiert und habe mir aus der View Haushalt die Icons geschnappt. Wenn ich das jetzt richtig verstanden habe, soll ich zusätzlich noch ein Script unter Javascript.0 was anlegen. Was muss in dem Script drin stehen?
                                      Sorry aber ich bin erst seit kurzem mit IObroker dran.
                                      Gruß
                                      Alero

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • A Alero

                                        @Kuddel
                                        Hallo Kuddel,
                                        erste einmal Daumen hoch für die mega geile Arbeit.
                                        ich möchte hier noch einmal einhaken (waschmaschine).
                                        Dein Projekt habe ich importiert und habe mir aus der View Haushalt die Icons geschnappt. Wenn ich das jetzt richtig verstanden habe, soll ich zusätzlich noch ein Script unter Javascript.0 was anlegen. Was muss in dem Script drin stehen?
                                        Sorry aber ich bin erst seit kurzem mit IObroker dran.
                                        Gruß
                                        Alero

                                        K Offline
                                        K Offline
                                        Kuddel
                                        schrieb am zuletzt editiert von
                                        #483

                                        @Alero damit der ioBroker den Status der Waschmaschine erkennt, benötigst du zunächst eine Steckdose, die den aktuellen Verbrauch der Waschmaschine an den ioBroker übergibt.

                                        Anhand des Verbrauchs kannst du du dann per Skript einen Status definieren: an, fertig, aus

                                        Hier ein Biespiel für den Status "Aus"

                                        31f0abe4-d84b-452b-aa06-c8d74ef0c26f-grafik.png

                                        SD_Waschmaschine ist der Name der Steckdose
                                        SD_Waschmaschine-Messwert.Power ist der aktuelle Verbauch
                                        waschmaschine ist das Datenobjekt mit dem aktuellen Status

                                        A 1 Antwort Letzte Antwort
                                        0
                                        • K Kuddel

                                          @markus-now in meinem Briefkasten sitz ein Homematic Fensterkontakt, der auslöst, wenn der Postbote den Deckel vom Breifkasten öffnet.

                                          Dann wird das Datenobjekt "Post" auf wahr geschaltet (wahr = post eingeworfen).

                                          Ebenso bekomme ich direkt eine Mail, dass die Post da ist.

                                          Das Ganze ist in meinen Augen total simpel.

                                          K Offline
                                          K Offline
                                          Kaiman55
                                          schrieb am zuletzt editiert von
                                          #484

                                          @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                                          @markus-now in meinem Briefkasten sitz ein Homematic Fensterkontakt, der auslöst, wenn der Postbote den Deckel vom Breifkasten öffnet.

                                          Dann wird das Datenobjekt "Post" auf wahr geschaltet (wahr = post eingeworfen).

                                          Ebenso bekomme ich direkt eine Mail, dass die Post da ist.

                                          Das Ganze ist in meinen Augen total simpel.

                                          Das ganze funktioniert auch gut mit den Xiaomi Kontakten.
                                          Ich habe das kleine Gegenstück (den Magnet) noch aus dem Gehäuse genommen.
                                          Dann in meiner Klappe vom Briefkasten eine kleine Nut gefräst und den Magneten dort eingelassen und mit 2k Kleber montiert.
                                          Hält bombenfest und kostet nicht viel.

                                          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

                                          775

                                          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