Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Mapping von Werten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mapping von Werten

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

      Hallo zusammen,

      ich nutze den Yamaha Adapter um das Heimkino zu steuern. Einzig mit der Lautstärkeregelung über Alexa gibt es Probleme, da Yamaha die Lautstärke nicht von 0 - X angibt, sondern ich glaube in dB.

      Der geringste Wert (0%) ist -805

      Der höchste Wert (100%) ist 165

      Gibt es eine Möglichkeit diese Werte, ähnlich wie beim Arduino, zu mappen? Dort wäre der Code

      map(val, -805, 165, 0, 100)
      

      Ich hab zwar schon gegoogelt, aber so wie ich das verstehe, ist die javascript Version von Map etwas anderes.

      Dennoch hab ich mir dieses hier zusammengestrickt:

      setState("javascript.0.scriptEnabled.Eigene.Test.Lautstaerke", map("yamaha.0.volume"/*Volume*/,-805,165,0,100));
      

      Dort erhalte ich aber die Fehler hier:

      ! ````
      javascript.0
      2018-11-13 15:34:55.270
      info
      Stop script script.js.Eigene.Test.Skript2
      javascript.0
      2018-11-13 15:34:52.896
      error
      at ContextifyScript.Script.runInContext (vm.js:59:29)
      javascript.0
      2018-11-13 15:34:52.896
      error
      at script.js.Eigene.Test.Skript2:1:1
      javascript.0
      2018-11-13 15:34:52.896
      error
      ReferenceError: map is not defined
      javascript.0
      2018-11-13 15:34:52.896
      error
      ^
      javascript.0
      2018-11-13 15:34:52.896
      error
      setState("javascript.0.scriptEnabled.Eigene.Test.Lautstaerke", map("yamaha.0.volume"/Volume/,-805,165,0,100));
      javascript.0
      2018-11-13 15:34:52.896
      error
      script.js.Eigene.Test.Skript2: script.js.Eigene.Test.Skript2:1
      javascript.0
      2018-11-13 15:34:52.896
      info
      Start javascript script.js.Eigene.Test.Skript2

      
      Ich danke euch für eure Hilfe :)
      1 Reply Last reply Reply Quote 0
      • blauholsten
        blauholsten Developer last edited by

        @DKM:

        Hallo zusammen,

        Ich hab zwar schon gegoogelt, aber so wie ich das verstehe, ist die javascript Version von Map etwas anderes. `

        Ja in JS ist das was komplett anderes.

        Du müsstest dir eine skalierbare Funktion erstellen.

        1 Reply Last reply Reply Quote 0
        • D
          DKM last edited by

          Ok… Kannst du mir erklären was das ist und wie ich das erstelle? Links reichen auch:)

          Gesendet von meinem SM-G960F mit Tapatalk

          1 Reply Last reply Reply Quote 0
          • R
            rewenode last edited by

            Vielleicht hilft dir das weiter.

            https://stackoverflow.com/questions/107 … of-numbers

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

              Vorschlag:

              on("yamaha.0.volume", function(dp) {
                 var vol = dp.state.val;
                 setState("javascript.0.scriptEnabled.Eigene.Test.Lautstaerke", 100 * (vol + 805) / 970, true);
              });
              
              1 Reply Last reply Reply Quote 0
              • D
                DKM last edited by

                @paul53:

                Vorschlag:

                on("yamaha.0.volume", function(dp) {
                   var vol = dp.state.val;
                   setState("javascript.0.scriptEnabled.Eigene.Test.Lautstaerke", 100 * (vol + 805) / 970, true);
                });
                ```` `  
                

                Danke, dass hat mir weitergeholfen…. Irgendwie kam ich nicht drauf, dass es auch mit "einfacher" Mathematik zu machen ist. Ich hab es nur umgedreht, da ich mit dem DP Lautstärke das Heimkino ändern will - und Lautstärke durch Alexa gesteuert werden soll.

                on("javascript.0.scriptEnabled.Eigene.Test.Lautstaerke", function(dp) {
                   var vol = dp.state.val;
                   setState("yamaha.0.volume", (vol * 970 / 100) - 805, true);
                });
                

                @rewenode:

                Vielleicht hilft dir das weiter.

                https://stackoverflow.com/questions/107 … of-numbers `

                Das werde ich mir aber auf alle Fälle auch anschauen 🙂

                Ich danke euch beiden für die schnelle Hilfe!

                1 Reply Last reply Reply Quote 0
                • Röstkartoffel
                  Röstkartoffel last edited by

                  @DKM:

                  Hallo zusammen,

                  ich nutze den Yamaha Adapter um das Heimkino zu steuern. Einzig mit der Lautstärkeregelung über Alexa gibt es Probleme, da Yamaha die Lautstärke nicht von 0 - X angibt, sondern ich glaube in dB.

                  Der geringste Wert (0%) ist -805

                  Der höchste Wert (100%) ist 165 `

                  Ich nutze auch den Yamaha Adapter, da habe ich aber bei meinem Receiver die db-Werte -80.5 und 16.5 als geringsten und höchsten Wert.

                  Gruß

                  Volker

                  1 Reply Last reply Reply Quote 0
                  • D
                    DKM last edited by

                    Ja, ich hab da schon gelesen, dass die Werte je nach Yamaha Gerät anders dargestellt werden. In den Optionen kann ich bei mir aber zu mindestens die Anzeigeart auf dem Gerät auf % ändern. Wobei dort das maximum dann 97,5 % ist.

                    Begründet ist das wohl damit, dass Yamaha aus dem Musikbereich kommt und das dort eher mit dB geregelt wird.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    931
                    Online

                    31.7k
                    Users

                    79.9k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    1376
                    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