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.
    • 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
                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            499
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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