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. Mapping von Werten

NEWS

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

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

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

Mapping von Werten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 5 Kommentatoren 1.5k Aufrufe
  • Ä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
    DKM
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      schrieb am zuletzt editiert von
      #2

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

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

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

        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 Antwort Letzte Antwort
        0
        • R Offline
          R Offline
          rewenode
          schrieb am zuletzt editiert von
          #4

          Vielleicht hilft dir das weiter.

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

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            Vorschlag:

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

            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
            0
            • D Offline
              D Offline
              DKM
              schrieb am zuletzt editiert von
              #6

              @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 Antwort Letzte Antwort
              0
              • RöstkartoffelR Offline
                RöstkartoffelR Offline
                Röstkartoffel
                schrieb am zuletzt editiert von
                #7

                @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

                NUC7i3BNH mit Proxmox und ioBroker (VM Debian Buster), Raspi3 (Slave Smartmeter für eHZ easymeter), Hardware CCU2, SMA SB5000TL-21

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  DKM
                  schrieb am zuletzt editiert von
                  #8

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

                  817

                  Online

                  32.4k

                  Benutzer

                  81.5k

                  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