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. Skripten / Logik
  4. Variablen in String einfügen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Variablen in String einfügen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptnode-redblockly
6 Beiträge 2 Kommentatoren 525 Aufrufe 2 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.
  • D Offline
    D Offline
    danny_v1
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich bin neu bei iobroker und auch mit JavaScript hatte ich bis jetzt eher nichs zu tun.

    Ich habe folgendes Problem:

    Ich habe in der Vis einen ColorPicker der gibt die einzelnen Farbwerte (Rot, Grün und Blau) an drei Datenpunkte (mqtt.0....rot, mqtt.0....gruen, mqtt.0....blau) aus.
    Das funktioniert soweit.

    Das ganze soll an einen ESP8266 gesendet werden, das Senden funktioniert auch. Ich brauche aber die Werte rot, gruen und blau in einem String zusammengefasst welcher folgenden Aufbau haben muss:

    "rgb(rot,gruen,blau)"

    Das ganze soll jedes mal gemacht werden wenn sich einer der Werte ändert.

    Ich hoffe ich konnte mein Problem genau genug beschreiben, dass mir jemand helfen kann bei der Umsetzung.

    Besten Dank

    danny_v1

    T 1 Antwort Letzte Antwort
    0
    • D danny_v1

      Hallo,

      ich bin neu bei iobroker und auch mit JavaScript hatte ich bis jetzt eher nichs zu tun.

      Ich habe folgendes Problem:

      Ich habe in der Vis einen ColorPicker der gibt die einzelnen Farbwerte (Rot, Grün und Blau) an drei Datenpunkte (mqtt.0....rot, mqtt.0....gruen, mqtt.0....blau) aus.
      Das funktioniert soweit.

      Das ganze soll an einen ESP8266 gesendet werden, das Senden funktioniert auch. Ich brauche aber die Werte rot, gruen und blau in einem String zusammengefasst welcher folgenden Aufbau haben muss:

      "rgb(rot,gruen,blau)"

      Das ganze soll jedes mal gemacht werden wenn sich einer der Werte ändert.

      Ich hoffe ich konnte mein Problem genau genug beschreiben, dass mir jemand helfen kann bei der Umsetzung.

      Besten Dank

      danny_v1

      T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von ticaki
      #2

      @danny_v1

      Keine Garantie auf Tippfehler :)

      var rDevice = 'da.sind.die.datenR';
      var gDevice = 'da.sind.die.datenG';
      var bDevice = 'da.sind.die.datenB';
      var tDevice = 'da.sollen.sie.hin';
      
      var rot = getState(rDevise).val;
      var gruen = getState(gDevise).val;
      var blau = getState(bDevise).val;
      
      var timeout = null;
      
      setRGB();
      
      function setRGB() {
        // Setze Datenpunkt wenn keiner der Punkte innerhalb von 300ms geändert wird
        if (timeout) clearTimeout(timeout);
        timeout = setTimeout(function(){
          setState(tDevice,'rgb('+rot+','+gruen+','+blau+')');
        },300);
      
        // für Timeout 300ms nach der ersten Änderung aus.
        //if (timeout) return;
        //timeout = setTimeout(function(){
        //  setState(tDevice,'rgb('+rot+','+gruen+','+blau+')');
        //  timeout = null;
        //},300);
      }
      
      
      on ({id:rDevice}, function(obj) {
        rot=obj.state.val;
        setRGB();
      });
      
      on ({id:gDevice}, function(obj) {
        gruen=obj.state.val;
        setRGB();
      });
      
      on ({id:bDevice}, function(obj) {
        blau=obj.state.val;
        setRGB();
      });
      

      Wenn das nicht geht ändere bitte folgendes:

      on ({id:rDevice, change:"any", ack:true}, function(obj) {
      

      an allen 3 Stellen.

      Hab das heftig editiert. g

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        danny_v1
        schrieb am zuletzt editiert von
        #3

        Super danke!!!

        Werde ich heute gleich mal testen.

        rDevice = 'da.sind.die.datenR';
        gDevice = 'da.sind.die.datenG';
        bDevice = 'da.sind.die.datenB';
        tDevice = 'da.sollen.sie.hin';

        da müssen dann meine dementsprechenden Datenpunkt rein?

        zb.: rDevice = mqtt0.Licht.rot;

        ist das richtig?

        Vielen dank schon mal!

        T 1 Antwort Letzte Antwort
        0
        • D danny_v1

          Super danke!!!

          Werde ich heute gleich mal testen.

          rDevice = 'da.sind.die.datenR';
          gDevice = 'da.sind.die.datenG';
          bDevice = 'da.sind.die.datenB';
          tDevice = 'da.sollen.sie.hin';

          da müssen dann meine dementsprechenden Datenpunkt rein?

          zb.: rDevice = mqtt0.Licht.rot;

          ist das richtig?

          Vielen dank schon mal!

          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von ticaki
          #4

          @danny_v1 said in Variablen in String einfügen:

          rDevice = mqtt0.Licht.rot;

          Fast :), ich hab das "var" und du die '' vergessen. Das muß nachher so aussehen:

          var rDevice = 'mqtt.0.Licht.rot';
          

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          1 Antwort Letzte Antwort
          0
          • T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von ticaki
            #5

            Noch eine Anmerkung mit der du dir in der Zukunft Arbeit ersparst. Verwende informative Topics

            anstatt:

            mqtt0.Licht.rot
            

            z.B.

            mqtt.0.Haus.OG.Wohnzimmer.Licht.rot
            mqtt.0.Licht.Haus.OG.Wohnzimmer.0.rot
            

            Ich hab im Moment einen Topic: /iobroker/display/show/# und wen ich den ändere muß ich zig scripts anpassen... hätte ich nur gleich /Statusdisplay/0/Values/# genommen.

            Ach und ich habe anfangs auch gesagt, dass verwende ich nur zum Testen. :D

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              danny_v1
              schrieb am zuletzt editiert von
              #6

              Super ich danke Dir für die ausführliche Hilfe, werde es heute Abend gleich mal testen.

              Auch immer schön, wenn man hilfreiche Ratschläge von erfahrenen Nutzern bekommt so als kompletter Neueinsteiger.

              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

              689

              Online

              32.7k

              Benutzer

              82.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