Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorstellung] Meine zweite Visualisierung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Vorstellung] Meine zweite Visualisierung

Scheduled Pinned Locked Moved Visualisierung
vistemplate
1.3k Posts 148 Posters 570.2k Views 157 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • NashraN Offline
    NashraN Offline
    Nashra
    Most Active Forum Testing
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Replies Last reply
        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 Offline
          crunchipC Offline
          crunchip
          Forum Testing Most Active
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by
              #478

              @Nashra in Blocky sieht es dann so aus:

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

              NashraN M 2 Replies Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                0
                • K Kuddel

                  @Nashra in Blocky sieht es dann so aus:

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

                  M Offline
                  M Offline
                  markus-now
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by
                    #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 Replies Last reply
                    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
                      wrote on last edited by 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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #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 Reply Last reply
                          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.

                            M Offline
                            M Offline
                            markus-now
                            wrote on last edited by markus-now
                            #485

                            @Kuddel
                            Danke ich schaue mir das heute Abend, wenn ich nach Hause komme nochmal an. :+1:
                            Ich war ein bisschen irritiert, weil du am Anfang den, falls mit wert falsch getriggert hast.
                            (wenn ich mich richtig erinnere sitze gerate nicht vor ioBroker bin Arbeiten)

                            1 Reply Last reply
                            0
                            • K Kuddel

                              @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 Offline
                              A Offline
                              Alero
                              wrote on last edited by
                              #486

                              @Kuddel
                              Hi Kuddel,

                              Jo die Steckdose mit Messwetrterfassung habe ich. HMIP-PSM
                              Dein Script habe ich auch importiert und meine Steckdose eingefügt. Was ich nicht verstehe ist das mit dem Javascript.0 wo du wohl sagst Waschmaschine an = 1 usw.

                              Gru0ß
                              Alero

                              K 1 Reply Last reply
                              0
                              • A Alero

                                @Kuddel
                                Hi Kuddel,

                                Jo die Steckdose mit Messwetrterfassung habe ich. HMIP-PSM
                                Dein Script habe ich auch importiert und meine Steckdose eingefügt. Was ich nicht verstehe ist das mit dem Javascript.0 wo du wohl sagst Waschmaschine an = 1 usw.

                                Gru0ß
                                Alero

                                K Offline
                                K Offline
                                Kuddel
                                wrote on last edited by
                                #487

                                @Alero was genau verstehst du daran nicht ?

                                Den Datenpunkt verwende ich ja in meiner VIS:

                                Waschmaschine = 0 -> Kein Rahmen
                                Waschmaschine = 1 -> Rahmen Gelb + Icon blinken
                                Waschmaschine = 2 -> Rahmen Grün + Icon blinken

                                A 1 Reply Last reply
                                0
                                • K Kuddel

                                  @Alero was genau verstehst du daran nicht ?

                                  Den Datenpunkt verwende ich ja in meiner VIS:

                                  Waschmaschine = 0 -> Kein Rahmen
                                  Waschmaschine = 1 -> Rahmen Gelb + Icon blinken
                                  Waschmaschine = 2 -> Rahmen Grün + Icon blinken

                                  A Offline
                                  A Offline
                                  Alero
                                  wrote on last edited by Alero
                                  #488

                                  @Kuddel
                                  Hi,

                                  ich meinen in deinem Blockly Script das:
                                  javascript.0.haushalt.waschmaschine.
                                  Hier handelt es sich doch um ein javascript,oder bin ich da auf dem Holzweg?
                                  Steh hier auf dem Schlauch. :-(
                                  Gruß
                                  Alero

                                  K 1 Reply Last reply
                                  0
                                  • A Alero

                                    @Kuddel
                                    Hi,

                                    ich meinen in deinem Blockly Script das:
                                    javascript.0.haushalt.waschmaschine.
                                    Hier handelt es sich doch um ein javascript,oder bin ich da auf dem Holzweg?
                                    Steh hier auf dem Schlauch. :-(
                                    Gruß
                                    Alero

                                    K Offline
                                    K Offline
                                    Kuddel
                                    wrote on last edited by Kuddel
                                    #489

                                    @Alero nein das ist ein Datenobjekt:

                                    0b2da2d9-5652-4ece-90f1-d299b530f560-grafik.png

                                    Habe es gestern von haushalt.waschmaschine auf waschmaschine umbenannt. daher passt der Screenshot nicht mehr so ganz ^^

                                    A 1 Reply Last reply
                                    0
                                    • SWE1008S Offline
                                      SWE1008S Offline
                                      SWE1008
                                      wrote on last edited by
                                      #490

                                      Hallo Kuddel,

                                      könntest du mir verraten wie du es hinbekommst dass bei den Dialogen (z. B. Regenradar) der Rahmen schwarz ist?
                                      Ich finde keine Einstellung um das Design bzw. die Farbe des Rahmen zu ändern.

                                      Gruß
                                      Simon

                                      K 1 Reply Last reply
                                      0
                                      • SWE1008S SWE1008

                                        Hallo Kuddel,

                                        könntest du mir verraten wie du es hinbekommst dass bei den Dialogen (z. B. Regenradar) der Rahmen schwarz ist?
                                        Ich finde keine Einstellung um das Design bzw. die Farbe des Rahmen zu ändern.

                                        Gruß
                                        Simon

                                        K Offline
                                        K Offline
                                        Kuddel
                                        wrote on last edited by Kuddel
                                        #491

                                        @SWeimar das ist das sogenannte Material-Design.

                                        Du musst folgendes im VIS einfügen:

                                        CSS: css.txt
                                        Skripte: skripte.txt

                                        d7a65581-2b07-42e7-be76-76d93ccc2336-grafik.png

                                        SWE1008S 1 Reply Last reply
                                        0
                                        • K Kuddel

                                          @SWeimar das ist das sogenannte Material-Design.

                                          Du musst folgendes im VIS einfügen:

                                          CSS: css.txt
                                          Skripte: skripte.txt

                                          d7a65581-2b07-42e7-be76-76d93ccc2336-grafik.png

                                          SWE1008S Offline
                                          SWE1008S Offline
                                          SWE1008
                                          wrote on last edited by
                                          #492

                                          @Kuddel Super, hat funktioniert.
                                          Vielen Dank!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          751

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe