Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JS Denon Lautstärke bei bestimmten Eingang

    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

    JS Denon Lautstärke bei bestimmten Eingang

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

      Hallo,

      vorne weg ich hab leider wenig Ahnung von JS.

      Ich habe folgenden Code von der Denon FAQ:

      setState('denon.0.zoneMain.volume', 47.5);
      

      Darüber funktioniert das Verändern der Lautstärke.

      Ursprünglich wollte ich ein Blockly aber da schreibt er zwar die neue Lautstärke in den DP vom Denon aber er ändert es nicht am Denon selbst. keine Ahnung warum.

      kann man das hier auch als JS machen?

      Bildschirm­foto 2022-11-29 um 09.46.05.png

      arteck Codierknecht 2 Replies Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @Olli_M last edited by

        @olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:

        Ursprünglich wollte ich ein Blockly aber da schreibt er zwar die neue Lautstärke in den DP vom Denon aber er ändert es nicht am Denon selbst. keine Ahnung warum.

        da glaub ich dir so nicht..

        zeigmal dein blockly dafür..

        Olli_M 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Olli_M last edited by Codierknecht

          @olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:

          Ursprünglich wollte ich ein Blockly aber da schreibt er zwar die neue Lautstärke in den DP vom Denon aber er ändert es nicht am Denon selbst. keine Ahnung warum.

          Das hier sollte problemlos funktionieren:
          8b4d2b25-8f48-4877-8844-61639485cef9-image.png

          Denn dabei kommt genau das an JS raus was Du brauchst:

          on({id: "Object ID", change: "ne"}, async function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            setState("denon.0.zoneMain.volume"/*Main Volume*/, 47.5, true);
          });
          
          Olli_M 1 Reply Last reply Reply Quote 0
          • Olli_M
            Olli_M @arteck last edited by Olli_M

            @arteck
            ich glaube es ja selbst kaum 🙂

            <xml xmlns="https://developers.google.com/blockly/xml">
              <block type="on_ext" id="v0NbyO@0v|1,5|FFMCtT" x="162" y="137">
                <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                <field name="CONDITION">ne</field>
                <field name="ACK_CONDITION"></field>
                <value name="OID0">
                  <shadow type="field_oid" id="M[}H}c?,xv[kP0-6-5Dk">
                    <field name="oid">denon.0.zoneMain.selectInput</field>
                  </shadow>
                </value>
                <statement name="STATEMENT">
                  <block type="controls_if" id="n5ZgauT==armen.]p9Gw">
                    <value name="IF0">
                      <block type="logic_compare" id="dc0dw7~8H8.P1Z=.y__Q">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="get_value" id="vQ]=~x{pWNJM#sW%_fW#">
                            <field name="ATTR">val</field>
                            <field name="OID">denon.0.zoneMain.selectInput</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="text" id="!sI@c/V8[n1[/ixDr~2F">
                            <field name="TEXT">TV</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="-Lg]-7biSZuW[S|*o?H7">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">denon.0.zoneMain.volume</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_number" id="LiR_Nt/2ghq,Uh2,.ye;">
                            <field name="NUM">40</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
            </xml>
            

            Bildschirm­foto 2022-11-29 um 10.18.56.png

            Also den DP ändert er ja da scheint das Blockly zu stimmen nur der Denon macht halt nix

            1 Reply Last reply Reply Quote 0
            • Olli_M
              Olli_M @Codierknecht last edited by

              @codierknecht

              ja ich brauch nur eine Bedinung bzw. eigentlich 3 Bedingungen 🙂

              Bildschirm­foto 2022-11-29 um 10.20.14.png

              aber wenn ich hier auf reload klicke, ändert er es mir direkt am Denon auch.

              Negalein 1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @Olli_M last edited by

                @olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:

                ja ich brauch nur eine Bedinung bzw. eigentlich 3 Bedingungen

                du brauchst da nicht zusätzlich das JS.
                Ich hab gerade dein Blockly probiert. Das funktioniert.

                Was ist, wenn du in denon.0.zoneMain.volume den Wert händisch eingibst? Schaltet er dann?

                Olli_M 1 Reply Last reply Reply Quote 0
                • Olli_M
                  Olli_M @Negalein last edited by

                  @negalein

                  witztigerweise schon wenn ich es selbst reinschreibe über den DP direkt macht er es grad.

                  stehe echt am schlauch..

                  Olli_M 1 Reply Last reply Reply Quote 0
                  • Olli_M
                    Olli_M @Olli_M last edited by

                    @olli_m

                    er schaltet einfach beim Blockly nicht den denn das ist echt merkwürdig.

                    Hab auch schon mal adapter und alles gelöscht und neu eingerichtet aber immer das gleiche Phänomen 😞

                    Codierknecht Negalein 2 Replies Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @Olli_M last edited by

                      @olli_m
                      Runde mal auf ganze Zahlen. Der kommt offensichtlich mit Dezimalzahlen nicht klar.

                      Codierknecht Olli_M 2 Replies Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Codierknecht last edited by

                        Wie gut dass die Katze hier oben im Arbeitszimmer schläft.
                        Die wäre sonst unten vom Kratzbaum gefallen 😁

                        585430d4-9015-4b0d-bd23-ea7662aabbe9-image.png

                        1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator @Olli_M last edited by

                          @olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:

                          er schaltet einfach beim Blockly nicht den denn das ist echt merkwürdig.

                          das funktioniert.
                          Teste es mal.

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <block type="on_ext" id="v0NbyO@0v|1,5|FFMCtT" x="162" y="137">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                              <field name="CONDITION">ne</field>
                              <field name="ACK_CONDITION"></field>
                              <value name="OID0">
                                <shadow type="field_oid" id="M[}H}c?,xv[kP0-6-5Dk">
                                  <field name="oid">denon.0.zoneMain.selectInput</field>
                                </shadow>
                              </value>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="n5ZgauT==armen.]p9Gw">
                                  <value name="IF0">
                                    <block type="logic_compare" id="dc0dw7~8H8.P1Z=.y__Q">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="get_value" id="vQ]=~x{pWNJM#sW%_fW#">
                                          <field name="ATTR">val</field>
                                          <field name="OID">denon.0.zoneMain.selectInput</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="text" id="!sI@c/V8[n1[/ixDr~2F">
                                          <field name="TEXT">BD</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="control" id="|ydM|:$sUKp$E%k/5*W$">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">denon.0.zoneMain.volume</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="text" id="nWBZVIz~+gtiuo*J6fv5">
                                          <field name="TEXT">10</field>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                            </block>
                          </xml>
                          

                          cedd69ea-054b-4468-a3e7-9032d8800168-image.png

                          Olli_M 2 Replies Last reply Reply Quote 0
                          • Olli_M
                            Olli_M @Negalein last edited by

                            @negalein

                            probiere ich gleich mal...

                            1 Reply Last reply Reply Quote 0
                            • Olli_M
                              Olli_M @Codierknecht last edited by

                              @codierknecht
                              an dem lass nicht leider

                              hab jetzt mal nur ein JS erstellt mit folgendem Code:

                              on({id: [].concat(['denon.0.zoneMain.selectInput']), change: "any"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                if (getState("denon.0.zoneMain.selectInput").val == 'TV') {
                                  setState("denon.0.zoneMain.volume"/*Main Volume*/, 44.5);
                                }
                              });
                              
                              

                              Was interessant ist dass er paar Wörter unterkringelt im JS:

                              Bildschirm­foto 2022-11-29 um 10.44.41.png

                              Codierknecht 1 Reply Last reply Reply Quote 0
                              • Olli_M
                                Olli_M @Negalein last edited by Olli_M

                                @negalein said in JS Denon Lautstärke bei bestimmten Eingang:

                                geht leider nicht...das ist nicht viel anders oder das blockly als meines oder?

                                Bildschirm­foto 2022-11-29 um 10.50.43.png

                                JS nutze ich die 6.0.3

                                Negalein Codierknecht 2 Replies Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @Olli_M last edited by

                                  @olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                  Was interessant ist dass er paar Wörter unterkringelt im JS:

                                  Nimm mal diesen Block:
                                  cdbe8e51-7990-4ea3-8714-9cab4aae799d-image.png

                                  Bei mir funzt das Blockly perfekt (Denon AVR-X1200W)

                                  1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @Olli_M last edited by

                                    @olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                    das ist nicht viel anders oder das blockly als meines oder?

                                    bei steuere Main Volume hast du einen Math Baustein und ich einen Text Baustein

                                    Codierknecht Meister Mopper 2 Replies Last reply Reply Quote 0
                                    • Codierknecht
                                      Codierknecht Developer Most Active @Negalein last edited by Codierknecht

                                      @negalein sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                      bei steuere Main Volume hast du einen Math Baustein und ich einen Text Baustein

                                      Zahl wäre ja auch "richtiger". Der DP ist als number definiert.

                                      So wäre es eigentlich "richtiger"
                                      34cabf88-74c0-4331-93a7-4fc78d1bd7f4-image.png

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <block type="on" id="Qg*QqD$8?8~`gt-#{+Uv" x="-837" y="163">
                                         <field name="OID">denon.0.zoneMain.selectInput</field>
                                         <field name="CONDITION">ne</field>
                                         <field name="ACK_CONDITION"></field>
                                         <statement name="STATEMENT">
                                           <block type="controls_if" id="n5ZgauT==armen.]p9Gw">
                                             <value name="IF0">
                                               <block type="logic_compare" id="dc0dw7~8H8.P1Z=.y__Q">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="on_source" id="@EEN*OUoupn2U?=3S2W/">
                                                     <field name="ATTR">state.val</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="!sI@c/V8[n1[/ixDr~2F">
                                                     <field name="TEXT">TV</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="control" id="|ydM|:$sUKp$E%k/5*W$">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">denon.0.zoneMain.volume</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="math_round" id="6A{,,8DMPRD{w]jRqr}l">
                                                     <field name="OP">ROUND</field>
                                                     <value name="NUM">
                                                       <shadow type="math_number" id="O9vI7?[UqP!i9v1}.(w~">
                                                         <field name="NUM">47.5</field>
                                                       </shadow>
                                                       <block type="math_number" id="e4l;a{Y8;A!mXa!Ty)37">
                                                         <field name="NUM">47.5</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                           </block>
                                         </statement>
                                       </block>
                                      </xml>
                                      

                                      Negalein 1 Reply Last reply Reply Quote 0
                                      • Meister Mopper
                                        Meister Mopper @Negalein last edited by

                                        @negalein

                                        Eigenartig, der Datenpunkt ist ja vom Typ number:

                                        96c72367-9a96-47b3-8d89-be92c8c770c8-grafik.png

                                        Codierknecht 1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @Meister Mopper last edited by Codierknecht

                                          @meister-mopper sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                          der Datenpunkt ist ja vom Typ number:

                                          Wobei der Adapter es scheinbar versäumt hat, ein step zu definieren.
                                          Am Geräte und in der App kann man nur ganzzahlige Werte wählen. Daher sollte das im Blockly wohl besser gerundet werden.

                                          1 Reply Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @Codierknecht last edited by

                                            @codierknecht sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                            Zahl wäre ja auch "richtiger". Der DP ist als number definiert.
                                            So wäre es eigentlich "richtiger"

                                            Ja, aber funktioniert mit Math nicht.
                                            Mit Text schon.

                                            Ist zumindest bei mir so.

                                            @meister-mopper sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                            Eigenartig, der Datenpunkt ist ja vom Typ number:

                                            Ja, ist komisch.

                                            @codierknecht sagte in JS Denon Lautstärke bei bestimmten Eingang:

                                            Am Geräte und in der App kann man nur ganzzahlige Werte wählen. Daher sollte das im Blockly wohl besser gerundet werden.

                                            Ich kann in 0,5 Werte schalten.
                                            Dem Adapter ist es auch egal ob . oder ,

                                            Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            826
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            61
                                            2873
                                            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