Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    885

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.8k

Mapping von Werten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 5 Kommentatoren 1.9k 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: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

            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

                  Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                  Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                  Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                  Registrieren Anmelden
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  290

                  Online

                  33.0k

                  Benutzer

                  83.5k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2026
                  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