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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Javascript WLED

NEWS

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

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

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

Javascript WLED

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 4 Kommentatoren 556 Aufrufe 3 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.
  • I Offline
    I Offline
    ioBroker-lover
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,
    ich habe mir ein kleines WLED Skript geschrieben um verschiedene Animationen zu setzen.
    Leider wird der JSONText nicht korrekt übergeben. Ich vermute es hat irgendwas mit dem Parameter der WLED_Garage_Submit() Funktion zu tun. Eventuell wird aus dem JSON Objekt dabei ein String?

    Hab schon recht viel ausprobiert und bin etwas ratlos.
    Wenn ich den "submit" teil in das erste Skript jeweils am Ende jeder Switch-Funktion kopiere, geht alles.

    Eventuell kann mir jemand Hilfestellung geben, der sich mit JS etwas besser auskennt.

    var Parameter
    var JSONTextOutput
    var JSONTextInput
    var JSONText
    
    function WLED_Garage(Parameter){
        switch (Parameter){
            case "Initialization":
            JSONText={
                    "on": true,	
                    "bri": 16,	
                    "transition": 30,
                    "ps": 4
                }
            WLED_Garage_Submit(JSONText)    
    
            case "Off":
                JSONText={
                    "on": false
                }
            WLED_Garage_Submit(JSONText)    
    
        };
    }
    
    function WLED_Garage_Submit(JSONTextInput){
                var request = require('request');
                var options = {
                url: 'http://192.168.178.26/json/state',
                method: 'POST',
                json: JSONTextInput
                };
    
                request(options, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        console.log(body.id) // Print the shortened url.
                    }
                });
    }
    
    paul53P D 2 Antworten Letzte Antwort
    0
    • I ioBroker-lover

      Hallo zusammen,
      ich habe mir ein kleines WLED Skript geschrieben um verschiedene Animationen zu setzen.
      Leider wird der JSONText nicht korrekt übergeben. Ich vermute es hat irgendwas mit dem Parameter der WLED_Garage_Submit() Funktion zu tun. Eventuell wird aus dem JSON Objekt dabei ein String?

      Hab schon recht viel ausprobiert und bin etwas ratlos.
      Wenn ich den "submit" teil in das erste Skript jeweils am Ende jeder Switch-Funktion kopiere, geht alles.

      Eventuell kann mir jemand Hilfestellung geben, der sich mit JS etwas besser auskennt.

      var Parameter
      var JSONTextOutput
      var JSONTextInput
      var JSONText
      
      function WLED_Garage(Parameter){
          switch (Parameter){
              case "Initialization":
              JSONText={
                      "on": true,	
                      "bri": 16,	
                      "transition": 30,
                      "ps": 4
                  }
              WLED_Garage_Submit(JSONText)    
      
              case "Off":
                  JSONText={
                      "on": false
                  }
              WLED_Garage_Submit(JSONText)    
      
          };
      }
      
      function WLED_Garage_Submit(JSONTextInput){
                  var request = require('request');
                  var options = {
                  url: 'http://192.168.178.26/json/state',
                  method: 'POST',
                  json: JSONTextInput
                  };
      
                  request(options, function (error, response, body) {
                      if (!error && response.statusCode == 200) {
                          console.log(body.id) // Print the shortened url.
                      }
                  });
      }
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @iobroker-lover sagte: Eventuell wird aus dem JSON Objekt dabei ein String?

      Nein, JSON ist immer ein String. Vermutlich muss aus dem Objekt ein JSON gemacht werden?

              WLED_Garage_Submit(JSON.stringify(JSONText));    
      

      Dein JSONText ist kein JSON, sondern ein Objekt.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      1
      • arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        und nutze axios anstatt request

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        I 1 Antwort Letzte Antwort
        0
        • I ioBroker-lover

          Hallo zusammen,
          ich habe mir ein kleines WLED Skript geschrieben um verschiedene Animationen zu setzen.
          Leider wird der JSONText nicht korrekt übergeben. Ich vermute es hat irgendwas mit dem Parameter der WLED_Garage_Submit() Funktion zu tun. Eventuell wird aus dem JSON Objekt dabei ein String?

          Hab schon recht viel ausprobiert und bin etwas ratlos.
          Wenn ich den "submit" teil in das erste Skript jeweils am Ende jeder Switch-Funktion kopiere, geht alles.

          Eventuell kann mir jemand Hilfestellung geben, der sich mit JS etwas besser auskennt.

          var Parameter
          var JSONTextOutput
          var JSONTextInput
          var JSONText
          
          function WLED_Garage(Parameter){
              switch (Parameter){
                  case "Initialization":
                  JSONText={
                          "on": true,	
                          "bri": 16,	
                          "transition": 30,
                          "ps": 4
                      }
                  WLED_Garage_Submit(JSONText)    
          
                  case "Off":
                      JSONText={
                          "on": false
                      }
                  WLED_Garage_Submit(JSONText)    
          
              };
          }
          
          function WLED_Garage_Submit(JSONTextInput){
                      var request = require('request');
                      var options = {
                      url: 'http://192.168.178.26/json/state',
                      method: 'POST',
                      json: JSONTextInput
                      };
          
                      request(options, function (error, response, body) {
                          if (!error && response.statusCode == 200) {
                              console.log(body.id) // Print the shortened url.
                          }
                      });
          }
          
          D Offline
          D Offline
          Dragon
          schrieb am zuletzt editiert von
          #4

          @iobroker-lover schau Mal nach dem WLED Adapter. Funktioniert traumhaft!

          1 Antwort Letzte Antwort
          0
          • arteckA arteck

            und nutze axios anstatt request

            I Offline
            I Offline
            ioBroker-lover
            schrieb am zuletzt editiert von
            #5

            @arteck

            Ich habe mal auf axios umgestellt. Allerdings ist mein global script irgendwie verbuggt. Kannst du mir sagen wo ich einen Fehler mache?
            Leider finde ich keine richtige Doku zu diesen global scripts. Eventuell mache ich auch einen grundlegenden Fehler.

            var JSONText;
            // Axios importen
            const axios = require('axios').default;
            
            
            //Axios Header setzen.
            let axiosConfig = {
                headers: {
                    'Content-Type': 'application/json;charset=UTF-8',
                    "Access-Control-Allow-Origin": "*",
                }
            };
            
            function WLED_Garage(ImportParameter){
                switch (ImportParameter){
                    case "Initialization":
                    JSONText={
                            "on": true,	
                            "bri": 16,	
                            "transition": 30,
                            "ps": 4
                        };
                    break;
            
                    case "Off":
                        JSONText={
                            "on": false
                        };
                    break;
            
                    case "Spots":
                    JSONText={
                        "on": true,	
                        "bri": 16,	
                        "transition": 20,
                        "ps": 1
                    };
                    break;
            
                    case "Türöffner":
                    JSONText={
                        "on": true,	
                        "bri": 16,	
                        "transition": 20,
                        "ps": 2
                    };
                    break;
            
                    default:
                    JSONText={
                        "on": false
                    };
                };
            axios.post('http://192.168.178.26/json/state', JSONText, axiosConfig);
            };
            

            Den WLED Adapter habe ich auch drauf, nutze ich jedoch bewusst nicht. Ich arbeite mit unterschiedlichen Segmentierungen und will quasi verschiedene Presets hintereinander aufrufen.
            Beim Adapter kommt er da mit dem Timing durcheinander, da muss ich immer 200ms Pausen zwischen den einzelnen Befehlen lassen, dadurch werden die Skripte so riesig :-/

            arteckA 1 Antwort Letzte Antwort
            0
            • I ioBroker-lover

              @arteck

              Ich habe mal auf axios umgestellt. Allerdings ist mein global script irgendwie verbuggt. Kannst du mir sagen wo ich einen Fehler mache?
              Leider finde ich keine richtige Doku zu diesen global scripts. Eventuell mache ich auch einen grundlegenden Fehler.

              var JSONText;
              // Axios importen
              const axios = require('axios').default;
              
              
              //Axios Header setzen.
              let axiosConfig = {
                  headers: {
                      'Content-Type': 'application/json;charset=UTF-8',
                      "Access-Control-Allow-Origin": "*",
                  }
              };
              
              function WLED_Garage(ImportParameter){
                  switch (ImportParameter){
                      case "Initialization":
                      JSONText={
                              "on": true,	
                              "bri": 16,	
                              "transition": 30,
                              "ps": 4
                          };
                      break;
              
                      case "Off":
                          JSONText={
                              "on": false
                          };
                      break;
              
                      case "Spots":
                      JSONText={
                          "on": true,	
                          "bri": 16,	
                          "transition": 20,
                          "ps": 1
                      };
                      break;
              
                      case "Türöffner":
                      JSONText={
                          "on": true,	
                          "bri": 16,	
                          "transition": 20,
                          "ps": 2
                      };
                      break;
              
                      default:
                      JSONText={
                          "on": false
                      };
                  };
              axios.post('http://192.168.178.26/json/state', JSONText, axiosConfig);
              };
              

              Den WLED Adapter habe ich auch drauf, nutze ich jedoch bewusst nicht. Ich arbeite mit unterschiedlichen Segmentierungen und will quasi verschiedene Presets hintereinander aufrufen.
              Beim Adapter kommt er da mit dem Timing durcheinander, da muss ich immer 200ms Pausen zwischen den einzelnen Befehlen lassen, dadurch werden die Skripte so riesig :-/

              arteckA Offline
              arteckA Offline
              arteck
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @iobroker-lover sagte in Javascript WLED:

              zu diesen global scripts

              global script bedeutet im iobroker dass dieser VOR jedem anderen script eingefügt wird.. nicht meher

              ersetze

              const axios = require('axios').default;
              

              durch

              const axios = require('axios');
              axios.defaults.timeout = 5000;   // timeout 5 sec
              

              ansonsten kannst den rest stehen lassen

              zigbee hab ich, zwave auch, nuc's genauso und HA auch

              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

              277

              Online

              32.4k

              Benutzer

              81.4k

              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