Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Wled Grafiganzeige auf state

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Wled Grafiganzeige auf state

    This topic has been deleted. Only users with topic management privileges can see it.
    • matze55
      matze55 last edited by matze55

      hallo liebe communty.....auch an die denkenden Leute die so tolle arbeit hier tun. Aber meine Frage ist kann man bei wled dem preset eine grafik zuweisen?
      man kann es steuern aber in der App kann man ja den Peek einschalten somit sieht man eine gewisse vorschau. kann amn es auf den ,,state,, realiesieren.

      danke erst mal für eure mühe..lg matze55
      Vor einer gewissen Zeit habe ich diesen Code gefunden:

      //##########################################################################
      // WLED-Steuerung / Hex to RGB
      //##########################################################################
      var WLED_ID = 'MEINE ID VON WLED'; // Hinweis: die Zeichenfolge "a020a61bbd2c" muss durch die eigene WLED-ID ersetzt werden!
      //____________________________
      createState('javascript.0.wled.effekt', { name: 'WLED Effekt', desc: 'Effektauswahl', type: 'number', def: 9 });
      createState('javascript.0.wled.farbe',  { name: 'WLED Farbauswahl', desc: 'Farbwahl', type: 'string', def: '#6a6cf6' });
      createState('javascript.0.wled.speed',  { name: 'Effekt Geschwindigkeit', desc: 'Geschwindkeitseinstellung', type: 'number', def: 200 });
      createState('javascript.0.wled.intensity', { name: 'Effekt Intensität', desc: 'Intensität der Effekte', type: 'number', def: 128 });
      createState('javascript.0.wled.brightness', { name: 'Helligkeit', desc: 'Einstellung Helligkeit', type: 'number', def: 128 });
      createState('javascript.0.wled.toggle', { name: 'An / Aus', desc: 'Aus und Einschalten von WLED-APP', type: 'boolean', def: true });
      createState('javascript.0.wled.peek', { name: 'WLED Grafik', desc: 'Anzeige einer Grafik', type:  'string : Solid',  def: '' });
      //createState('javascript.0.wled.peek', { name: 'WLED Grafik', desc: 'Anzeige einer Grafik', type: 'mixed', read: true,  write: false  });
      
      function hexToRgb(hex) {
        var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
        return result ? {
          r: parseInt(result[1], 16),
          g: parseInt(result[2], 16),
          b: parseInt(result[3], 16)
        } : null;
      }
      // Hilfsvariable wird durch den Vis Color Picker überwacht, dann wird WLED-Farbe als HEX-Wert gesetzt
      on({id: "javascript.0.wled.farbe", change: "ne"}, function (obj) {
         setState("wled.0." + WLED_ID + ".seg.0.col.0",
         hexToRgb(getState("javascript.0.wled.farbe").val).r + ',' +
         hexToRgb(getState("javascript.0.wled.farbe").val).g + ',' +
         hexToRgb(getState("javascript.0.wled.farbe").val).b);
      });
      // Hilfsvariable wird durch VIS jqui - SelectValueList überwacht, bei Änderung wird WLED-Effekt gesetzt.
      on({id: "javascript.0.wled.effekt", change: "any"}, function (obj) {
          var effekt = getState("javascript.0.wled.effekt").val ;  
          setState("wled.0." + WLED_ID + ".seg.0.fx", effekt);
      });
      // Hilfsvariable wird durch VIS metro Slider horizontal überwacht, bei Änderung wird Geschwindigkeit gesetzt.
      on({id: "javascript.0.wled.speed", change: "any"}, function (obj) {
          var speed = getState("javascript.0.wled.speed").val ;
          setState("wled.0." + WLED_ID + ".seg.0.sx", speed);
      });
      // Hilfsvariable wird durch VIS metro Slider horizontal überwacht, bei Änderung wird Effekt-Intensität gesetzt.
      on({id: "javascript.0.wled.intensity", change: "any"}, function (obj) {
          var intens = getState("javascript.0.wled.intensity").val ;
          setState("wled.0." + WLED_ID + ".seg.0.ix", intens);
      });
      // Hilfsvariable wird durch VIS metro Slider horizontal überwacht, bei Änderung wird Helligkeit gesetzt.
      on({id: "javascript.0.wled.brightness", change: "any"}, function (obj) {
          var bright = getState("javascript.0.wled.brightness").val ;
          setState("wled.0." + WLED_ID + ".bri", bright);
      });
      // Hilfsvariable wird durch VIS fancyswitch überwacht, bei Änderung wird An/Aus geschaltet.
      on({id: "javascript.0.wled.toggle", change: "any"}, function (obj) {
          var on = getState("javascript.0.wled.toggle").val ;
          setState("wled.0." + WLED_ID + ".on", on);
      });
      //Hilfsvariable dabei werden die Presets einer Grafik zugeordnet
      /*const effectsList = ['Solid', 'Android', 'Aurora', 'Blends', 'Blink', 'Blink Rainbow', 'Bouncing Balls','Bpm', 'Breathe', 'Candle', 'Candle Multi', 
      'Candy Cane', 'Chase', 'Chase 1', 'Chase 2', 'Chase 3', 'Chase Flash', 'Chase Flash Rnd', 'Chase Rainbow', 'Chase Random', 
      'Chunchun', 'Colorful', 'Colorloop', 'Colortwinkles', 'Colorwaves', 'Dancing Shadows', 'etc'];
      // Trigger auf NSPanel Effekte
      on({id: userdataPath + 'Effects', change: "ne"}, async function (obj) {
      let wledObj = getObject(wledPath + 'seg.0.fx');
      let tempStringEffect = effectsList[obj.state.val]
      for (let i = 0; i < 118; i++) {
      if (wledObj.common.states[i] == undefined) {
      break;
      }
      if (wledObj.common.states[i] == tempStringEffect) {
      console.log(i + ' - ' + wledObj.common.states[i]);
      setState(wledPath + 'seg.0.fx', i)
      break;
      }
      }
      });*/
      
      /*on({id: 'javascript.0.wled.peek', change: "any"}, function (obj) {
          var image = getState("javascript.0.wled.peek").val ;
          setState("wled.0." + WLED_ID + ".image", image);
      });*/
      
      ...
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      670
      Online

      32.4k
      Users

      81.2k
      Topics

      1.3m
      Posts

      1
      1
      19
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo