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 @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
                                          • Negalein
                                            Negalein Global Moderator last edited by

                                            Denon ist bestimmt ne Frau. 😉

                                            Den ganzen Tag funktionierte es mit Text.
                                            Jetzt bildet sie sich ein, sie will keinen Text mehr! 😂

                                            You are assigning a string to the state "denon.0.zoneMain.volume" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                                            

                                            Echt so ne kleine Zicke! 😂😂😂

                                            Dann bekommt sie eben jetzt den @Codierknecht an ihre Seite. 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            410
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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