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

[Vorstellung] Meine zweite Visualisierung

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
1.3k Beiträge 148 Kommentatoren 549.4k 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.
  • 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
                    • 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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              0
                              • SWE1008S Offline
                                SWE1008S Offline
                                SWE1008
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #492

                                    @Kuddel Super, hat funktioniert.
                                    Vielen Dank!

                                    1 Antwort Letzte Antwort
                                    0
                                    • K Kuddel

                                      @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 Offline
                                      A Offline
                                      Alero
                                      schrieb am zuletzt editiert von
                                      #493

                                      @Kuddel
                                      Hi,
                                      sorry. Ist vielleicht noch zu früh für mich.
                                      Das mit dem Datenpunkt habe ich ja jetzt verstanden.
                                      Will jetzt einen anlegen, Unterobjekt unter javascrip.0 anlegen, dann Namen vergeben, Dann datenpunkt und dann logikwert.
                                      kann aber unter Rolle kein javascript auswählen.

                                      Gruß
                                      Alero

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • A Alero

                                        @Kuddel
                                        Hi,
                                        sorry. Ist vielleicht noch zu früh für mich.
                                        Das mit dem Datenpunkt habe ich ja jetzt verstanden.
                                        Will jetzt einen anlegen, Unterobjekt unter javascrip.0 anlegen, dann Namen vergeben, Dann datenpunkt und dann logikwert.
                                        kann aber unter Rolle kein javascript auswählen.

                                        Gruß
                                        Alero

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

                                        @Alero ich erstelle meine Objekte immer per Javascript

                                        createState('haushalt.waschmaschine', 0, {read: true, write: true, type: "number", min: 0, max: 2, def: 0, role: "", states: {0:"Aus",1:"An",2:"Fertig"}});
                                        
                                        A 1 Antwort Letzte Antwort
                                        0
                                        • K Kuddel

                                          @Alero ich erstelle meine Objekte immer per Javascript

                                          createState('haushalt.waschmaschine', 0, {read: true, write: true, type: "number", min: 0, max: 2, def: 0, role: "", states: {0:"Aus",1:"An",2:"Fertig"}});
                                          
                                          A Offline
                                          A Offline
                                          Alero
                                          schrieb am zuletzt editiert von
                                          #495

                                          @Kuddel
                                          Hi,
                                          verstanden.
                                          Haushalt.Waschmaschine ist dann der Name deiner Steckdose?

                                          Gruß
                                          Alero

                                          K 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

                                          523

                                          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