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.
    • 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
                        • Codierknecht
                          Codierknecht Developer Most Active @Negalein last edited by

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

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

                          Der Adapter scheint string-Eingaben zu parsen.
                          Gibt man z.B. 47,6 ein, wird das auch genau so "angezeigt". Will man den Wert dann wieder ändern, steht als Wert aber 47.6 drin. Er konvertiert also. Was ja nicht anders zu erwarten wäre, bei einem DP vom Typ number.

                          Wie gesagt: Bei mir funzt das mit Runden perfekt.

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

                            @olli_m
                            Du hast nicht zufällig ein maximumVolume gesetzt?
                            Ich frag' ja nur 😉

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

                              @codierknecht
                              Das Ding scheint 'ne echte Diva zu sein.
                              Jetzt funzt es bei mir auch nicht mehr 😞

                              Das hier tut's aber 😉
                              3ca45c25-60e2-4c17-a3d3-fdb8d0738833-image.png

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <variables>
                                 <variable id="5~xh-?;TS9,5KS_/-07*">targetVolume</variable>
                                 <variable id="A.Rs{g/EU:Ph/71|CWS/">currentVolume</variable>
                               </variables>
                               <block type="on" id="Qg*QqD$8?8~`gt-#{+Uv" x="-762" y="213">
                                 <field name="OID">denon.0.zoneMain.selectInput</field>
                                 <field name="CONDITION">ne</field>
                                 <field name="ACK_CONDITION"></field>
                                 <statement name="STATEMENT">
                                   <block type="logic_switch_case" id="$-xT(}G!;^Rhfn~C+qXy">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" case="1" default="1"></mutation>
                                     <value name="CONDITION">
                                       <block type="on_source" id="XOJ)BT,5+JK{Ep}u:DgJ">
                                         <field name="ATTR">state.val</field>
                                       </block>
                                     </value>
                                     <value name="CASECONDITION0">
                                       <block type="text" id="iKt?pT#y#d^t;(qBAP)?">
                                         <field name="TEXT">TV</field>
                                       </block>
                                     </value>
                                     <statement name="CASE0">
                                       <block type="variables_set" id="jXxO~utV|*?`t5D*P2!#">
                                         <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                         <value name="VALUE">
                                           <block type="math_number" id="F4k;tW%`{9C_dbbFpW_A">
                                             <field name="NUM">40</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <value name="CASECONDITION1">
                                       <block type="text" id="XoQU?]=`=brB~]w*fb43">
                                         <field name="TEXT">BD</field>
                                       </block>
                                     </value>
                                     <statement name="CASE1">
                                       <block type="variables_set" id="7,Tp8/8r|C`xu1(:A=|S">
                                         <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                         <value name="VALUE">
                                           <block type="math_number" id="9U[v4SCwpJluu:hhVsB-">
                                             <field name="NUM">30</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <statement name="ONDEFAULT">
                                       <block type="variables_set" id="yoi3,CobN5s_TS.sqMyU">
                                         <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                         <value name="VALUE">
                                           <block type="math_number" id="u`,|ZlF]Q4bpcXd{*AuJ">
                                             <field name="NUM">20</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="variables_set" id="osxOG.[KLnSG7ncimK9K">
                                         <field name="VAR" id="A.Rs{g/EU:Ph/71|CWS/">currentVolume</field>
                                         <value name="VALUE">
                                           <block type="get_value" id="tDKFWZ?Lnf!s;z]6duv*">
                                             <field name="ATTR">val</field>
                                             <field name="OID">denon.0.zoneMain.volume</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="controls_if" id="o182j6K5HuPh(E!4_EL(">
                                             <mutation elseif="1"></mutation>
                                             <value name="IF0">
                                               <block type="logic_compare" id="/+c=)+r9,saKPF){J~2=">
                                                 <field name="OP">GT</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="d,pLx8:vD48M/mPL+-`|">
                                                     <field name="VAR" id="A.Rs{g/EU:Ph/71|CWS/">currentVolume</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="variables_get" id="kQP^9}$c@!|G9sJmz!3~">
                                                     <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="controls_whileUntil" id="$OY{R7yrx9}CN!k+GO+)">
                                                 <field name="MODE">UNTIL</field>
                                                 <value name="BOOL">
                                                   <block type="logic_compare" id="{o,N/`w:sRh]!?h0nK9q">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="YFAPYX:=(~ttyJuG3d5z">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">denon.0.zoneMain.volume</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="variables_get" id="[BO/natbiL`R@ilrhUYx">
                                                         <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO">
                                                   <block type="toggle" id="5bw,3.`-PV)Sm8fj~k70">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">denon.0.zoneMain.volumeDown</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <next>
                                                       <block type="timeouts_wait" id="Y+2p:Q$pK4q$.M}(QCU.">
                                                         <field name="DELAY">100</field>
                                                         <field name="UNIT">ms</field>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </statement>
                                             <value name="IF1">
                                               <block type="logic_compare" id="Rix$S*%;kI3muhl7Ah+=">
                                                 <field name="OP">LT</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="X#R[CVv_rhh%BNV+I$u8">
                                                     <field name="VAR" id="A.Rs{g/EU:Ph/71|CWS/">currentVolume</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="variables_get" id="`W!Or8Z/78{7xR.,-=L2">
                                                     <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO1">
                                               <block type="controls_whileUntil" id="hr8Ebj)B-o/FT{vM9I,H">
                                                 <field name="MODE">UNTIL</field>
                                                 <value name="BOOL">
                                                   <block type="logic_compare" id="3D@j$ZP;OpY,wS!hL6N@">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="wcGqpl!UcW[#RE?xvKg^">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">denon.0.zoneMain.volume</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="variables_get" id="%Pd*+k/r`*,;$`jG]q#y">
                                                         <field name="VAR" id="5~xh-?;TS9,5KS_/-07*">targetVolume</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO">
                                                   <block type="toggle" id="-5=q)/:k|MSB6JztqYw2">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">denon.0.zoneMain.volumeUp</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <next>
                                                       <block type="timeouts_wait" id="EyUqTy?kQq2]5Gx{PS;G">
                                                         <field name="DELAY">100</field>
                                                         <field name="UNIT">ms</field>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </statement>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                              </xml>
                              

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

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

                                aber funktioniert mit Math nicht.
                                Mit Text schon.

                                jetzt habe ich mal in mein Uraltskript gesehen
                                Screenshot_20221129-121750_Firefox.jpg

                                da ist ne Zahl, allerdings ohne Dezimale

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

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

                                  da ist ne Zahl, allerdings ohne Dezimale

                                  komisch
                                  ich habs mit und ohne Komme probiert.
                                  Wollte mit Maths nicht. Mit Text schon.

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

                                    @codierknecht

                                    MaximumVolume ist eh gelockt was ich bei mir sehe

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

                                      @codierknecht

                                      also mit diesem hier geht es von dir. Allerdings dauert es halt bzw. sieht man wie er hochregelt. Er macht also keinen direkten Sprung auf die Zahl. Aber besser als nix. Danke dir 🙂

                                      mit dem anderen Fallsobjekt und egal ob Math oder Text Baustein hat der Denon bei mir auch nichts gemacht.

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

                                        @negalein

                                        bei mir ging mit text leider auch nicht. Habe jetzt den Code von @Codierknecht genommen. da gehts irgendwie

                                        1 Reply 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:

                                          hat der Denon bei mir auch nichts gemacht

                                          Wie gesagt: Ist 'ne kleine Diva.
                                          Mal geht's - mal geht's nicht. Eine Regelmäßigkeit oder gar eine echte Ursache habe ich nicht herausgefunden.

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

                                          Allerdings dauert es halt bzw. sieht man wie er hochregelt. Er macht also keinen direkten Sprung auf die Zahl

                                          Ich persönlich finde das mittlerweile sogar angenehmer 😉
                                          Kannst ja mal mit den Timeouts spielen. Aber bei zu kleinen Werten kann's Probleme geben.

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

                                            @codierknecht
                                            ja werde ich vielen Vielen dank nochmal für das Blockly.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            933
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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