Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Lautstärke regeln mit Blockly

    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

    Lautstärke regeln mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Robert 0
      Robert 0 @paul53 last edited by

      @paul53 Blockly.png

      Die Taste habe ich so eingestellt, die Funktion bleibt aber gleich. Mache ich im Blockly was falsch?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Robert 0 last edited by paul53

        @robert-0 sagte: Die Taste habe ich so eingestellt

        Dann musst Du das Blockly so ändern, wie hier gezeigt:

        • Trigger auf "wurde geändert"
        • falls-Abfrage von Wert (unter "Trigger")
        • Intervall in den mache-Zweig
        • "stop Intervall" vom gleichen Intervall im sonst-Zweig lassen
        • "stop Intervall" vom anderen Intervall löschen

        Beim Drücken der Taste wird der mache-Zweig ausgeführt (Intervall gestartet) und beim Loslassen wird der sonst-Zweig ausgeführt (Intervall gestoppt).

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable type="interval" id="lauter">lauter</variable>
           <variable type="interval" id="leiser">leiser</variable>
         </variables>
         <block type="on_ext" id="BvIk``_6wyevdCM?nrEQ" x="162" y="91">
           <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="QXw5*b^Pp^P|#DlH/L:^">
               <field name="oid">0_userdata.0.Soundbar.lauter</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="2s0QwHEf(I@~uCF$mN**">
               <mutation else="1"></mutation>
               <value name="IF0">
                 <block type="on_source" id="-lGQ`~wCcEF_KN:K?(KU">
                   <field name="ATTR">state.val</field>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="comment" id="aX{yCNAc92R.Z/~Kd{hJ">
                   <field name="COMMENT">Button +1</field>
                   <next>
                     <block type="control" id="b|991;*d]|L-Znegl:C%">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">Object ID</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="gn%m]iV6iXj%7M^9nk|/">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                       <next>
                         <block type="timeouts_setinterval" id="^;AmW+meFBLc)v[igQ$v">
                           <field name="NAME">lauter</field>
                           <field name="INTERVAL">500</field>
                           <field name="UNIT">ms</field>
                           <statement name="STATEMENT">
                             <block type="control" id="](7/0QpQk/xHfFz9UqC6">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">Object ID</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="Vo0G_f=^|11fQep7OB}P">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
               <statement name="ELSE">
                 <block type="timeouts_clearinterval" id="@|L=$lavVRZvL}$|KH*q">
                   <field name="NAME">lauter</field>
                 </block>
               </statement>
             </block>
           </statement>
           <next>
             <block type="on_ext" id="t69l9h/XMa+VG-glcwsk">
               <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="hhdS@wDs=nJ2c6.{!?Ob">
                   <field name="oid">0_userdata.0.Soundbar.leiser</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="O0}#]C1,5y6qkxK:ABpT">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="on_source" id="M%etkid/6DQ.?=zL4hQJ">
                       <field name="ATTR">state.val</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="comment" id="s80UBi0s|zv^N;m:(+,G">
                       <field name="COMMENT">Button -1</field>
                       <next>
                         <block type="control" id="6ajOnOdQoLVQuRCjb|)1">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">Object ID</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="38x?7_?o}A37.0M(?$$!">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                           <next>
                             <block type="timeouts_setinterval" id="=jEWNVi4(V!-2FErcsf/">
                               <field name="NAME">leiser</field>
                               <field name="INTERVAL">500</field>
                               <field name="UNIT">ms</field>
                               <statement name="STATEMENT">
                                 <block type="control" id="X}=*|L(d+Y-01.ia|P0!">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">Object ID</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="uSiBT[S9mq=NK~k=Q4r{">
                                       <field name="BOOL">TRUE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <block type="timeouts_clearinterval" id="e)Zy5M]?RyK`6Qt[Uz%x">
                       <field name="NAME">leiser</field>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </next>
         </block>
        </xml>
        

        Robert 0 1 Reply Last reply Reply Quote 0
        • Robert 0
          Robert 0 @paul53 last edited by

          @paul53 virtuelle Instanz.png Blockly.png

          Mein letzter Versuch, ich möchte euch nicht nerven. Mit diesem Blockly funktioniert gar nichts. Kann es sein, dass die virtuelle Instanz falsch ist? Ich kann es da auch nicht bedienen, müsste ja eigentlich so funktionieren. Die virtuelle Instanz sieht bei mir auch anders aus. Das Widget hab ich als Taster eingestellt.

          paul53 mickym Robert 0 3 Replies Last reply Reply Quote 0
          • paul53
            paul53 @Robert 0 last edited by paul53

            @robert-0
            Zeige bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
            Im unteren Trigger ist der falsche Trigger-Datenpunkt ausgewählt.

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Robert 0 last edited by

              @robert-0 Na Du musst natürlich in dein steuere .... den Pfad zu Deinem Tastenobjekt im Harmony Adapter einstellen. Außerdem falls das die beiden Datenpunkte (Soundbar.leiser etc) sind - sieht man nicht ganz, die Du selbst erstellt hast - die nicht als Button sondern als Logikwert konfigurieren.

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @mickym last edited by

                @mickym sagte: die Du selbst erstellt hast - die nicht als Button sondern als Logikwert konfigurieren.

                Das sind sie. Die Rolle ist "button" und somit korrekt.

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

                  @robert-0
                  String.png hier gerne noch den Sting

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Robert 0 last edited by

                    @robert-0 sagte: hier gerne noch den Sting

                    Bis auf den falschen Trigger-Datenpunkt im zweiten Trigger passt es so.

                    Robert 0 2 Replies Last reply Reply Quote 0
                    • Robert 0
                      Robert 0 @paul53 last edited by

                      @paul53 String.png
                      Objekte.png

                      demzufolge sollte es so funktionieren, das habe ich übersehen, sorry. Leider haben die Buttons keine Funktion.
                      Vielleicht liegt das Problem ja bei den virtuellen Objekten.

                      paul53 1 Reply Last reply Reply Quote 0
                      • Robert 0
                        Robert 0 @paul53 last edited by

                        @paul53 Objekt.png

                        hier noch die Ansicht des Objektes Vol plus

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Robert 0 last edited by

                          @robert-0 sagte: Ansicht des Objektes

                          Das Objekt "Soundbar.lauter" ist in Ordnung.
                          Bau zum Test mal ein "debug output" ein, um zu sehen, ob getriggert wird, wenn die Vis-Taste betätigt wird.

                          Bild_2021-04-06_215549.png

                          Bei meinen Tests funktioniert das Triggern.

                          Robert 0 2 Replies Last reply Reply Quote 0
                          • Robert 0
                            Robert 0 @paul53 last edited by

                            @paul53 Debug.png
                            oh das sieht nicht gut aus, es gibt eine Endlosschlaufe. Z.Bsp. ich drücke die Taste Down, dann läuft die LS runter und danach wieder rauf.

                            1 Reply Last reply Reply Quote 0
                            • Robert 0
                              Robert 0 @paul53 last edited by

                              @paul53 es stoppt erst wenn ich den String ausschalte

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Robert 0 last edited by

                                @robert-0 sagte: demzufolge sollte es so funktionieren

                                Falscher Trigger "ist wahr"! Richtig: "wurde geändert".

                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Robert 0 last edited by paul53

                                  @robert-0
                                  Bei mir funktioniert es mit 2 s Tastendruck (Verbose mode):

                                  22:41:00.250	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: setForeignState(id=0_userdata.0.Relais.1.State, state={"val":true,"ack":false,"c":"script.js.blockly.Test5_Blockly"})
                                  22:41:00.250	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: setInterval(ms=500)
                                  22:41:00.752	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: setForeignState(id=0_userdata.0.Relais.1.State, state={"val":true,"ack":false,"c":"script.js.blockly.Test5_Blockly"})
                                  22:41:01.308	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: setForeignState(id=0_userdata.0.Relais.1.State, state={"val":true,"ack":false,"c":"script.js.blockly.Test5_Blockly"})
                                  22:41:01.809	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: setForeignState(id=0_userdata.0.Relais.1.State, state={"val":true,"ack":false,"c":"script.js.blockly.Test5_Blockly"})
                                  22:41:02.383	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: setForeignState(id=0_userdata.0.Relais.1.State, state={"val":true,"ack":false,"c":"script.js.blockly.Test5_Blockly"})
                                  22:41:02.462	info	javascript.1 (1916) script.js.blockly.Test5_Blockly: clearInterval() => cleared
                                  

                                  Blockly:

                                  Bild_2021-04-06_224426.png

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  915
                                  Online

                                  31.9k
                                  Users

                                  80.2k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  51
                                  2356
                                  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