Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. getstate() in getstate() möglich?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    getstate() in getstate() möglich?

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

      Hi,

      also eigentlich bekomme ich JS nur in Blockly hin... 😕
      Da es da aber einige Einschränkungen gibt, dachte ich mir, ob ich ein fertiges Skript evtl. in JS code konvertieren und dann an der ein oder anderen Stelle von Hand manipulieren/ergänzen könnte...

      Konkret frage ich mich, ob es möglich ist auch in getstate() eine Variable einzubinden, bzw. ein weiteres getstate() einzubauen?

      Also, was ich meine, ist es möglich den getstate() Code wie im setStateDelayed() auch an die Stelle der XXXXXXXXXXXXXXXX zu bekommen?

      setStateDelayed((['alexa2.0.Echo-Devices.',getState("alexa2.0.History.serialNumber").val,'.Commands.speak'].join('')), getState("alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXX.Player.volume").val, true, parseInt(0, 10), false);
      
      1 Reply Last reply Reply Quote 0
      • Peoples
        Peoples last edited by Peoples

        Wenn du sowas meinst:

        getState(instanz + pfad0 + 'Konfiguration.minimal.NamensZusatz').val;
        

        ja das geht, lediglich die + (Plus - Zeichen) und die richtige "Klammern-Setzung" sind wichtig.

        1 Reply Last reply Reply Quote 1
        • padrino
          padrino Most Active last edited by padrino

          Hmm, also ich meine, dass im diesem getstate

          alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXX.Player.volume

          die Xs durch das Ergebnis (die Rückgabe?) des getstate von

          alexa2.0.History.serialNumber

          ersetzt werden, sodass ein kompletter/gültiger Pfad entsteht. 😅

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @padrino last edited by

            @padrino Erst getState() von alexa2.0.History.serialNumber und das Ergebnis verwenden

            var serial = getState('alexa2.0.History.serialNumber').val;
            var vol = getState('alexa2.0.Echo-Devices.' + serial + '.Player.volume').val;
            
            1 Reply Last reply Reply Quote 1
            • padrino
              padrino Most Active last edited by

              Super, danke!

              Damit und anschauen, was blockly so "in code" ist, konnte ich mir das basteln

              var serial = getState('alexa2.0.History.serialNumber').val;
              var vol = getState('alexa2.0.Echo-Devices.' + serial + '.Player.volume').val;
              var ausgabe = ['Die Lautstärke für dieses Gerät ist ', vol ,' Prozent.'].join('');
              
              setState((['alexa2.0.Echo-Devices.', serial ,'.Commands.speak'].join('')), ausgabe);
              

              freu

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              449
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              3
              5
              296
              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