Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Lautstärke regeln mit Blockly

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Lautstärke regeln mit Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
51 Beiträge 4 Kommentatoren 4.0k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Robert 0R Robert 0

    Hallo iobroker Gemeinde
    Kann mir jemand helfen, bin absoluter Neuling.
    Ich habe folgende Frage:
    habe mir eine VIS gebaut zur Steuerung meiner AV Anlage. Leider bekomme ich die Lautstärkeregelung meiner Sennheiser Soundbar nur so hin, dass ein Tastendruck die Lautstärke um den Wert 1 erhöht. Gibt es eine Möglichkeit das so anzupassen, dass die Lautstärke solange der Button gedrückt wird jeweils um 1 erhöht wird. Ich habe gehört, dass man ein Blockly erstellen kann, raffe das aber nicht, vielleicht hat jemand ein Beispiel wie sowas aussieht. Folgende Geräte setze ich ein:
    Sennheiser Soundbar
    Harmony Hub

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #10

    @robert-0 Wenn müsstest Du ein Blockly basteln, dass parallel asynchron den Wert zyklisch erhöht - ich weiß nicht wie das geht. Ich habe sowas mal mit einem softwaremäßigen Dimmer implementiert für VIS - allerdings mit Node-Red - vielleicht kann @paul53 wie man sowas in java oder blockly macht.

    Hier kann man das nachlesen: https://forum.iobroker.net/topic/40948/shelly-dimmer-datenpunkte-über-vis-steuern/3?_=1617647799844
    und da ist auch kleines Video dabei

    Das Einzige vis widget das ich soweit gefunden habe, dass man als Taster konfiguriert werden kann war das hier:

    8a032824-5386-4455-bb73-fb11dad6deba-image.png

    Das Icon kann man ja ändern. Dieses Widget kannst Du als Taster konfigurieren. Damit kannst Du dann sobald Du es drückst ein true erzeugen beim Loslassen ein false.

    Während true ist muss Dein java oder blockly kontinuierlich die Lautstärke um 1 erhöhen bzw. erniedrigen.

    Wie gesagt da kann ich Dir aber nicht helfen, das ich sowas nur in NodeRed implementiert habe. Aber anstelle eines Dimmers kann man sich natürlich auch einen Lautstärkeregler vorstellen.

    Im NodeRed Dashboard habe ich auch so was reaslisiert - da man dort über HTML Events darauf reagieren kann.
    Allerdings weiss ich nicht wie man in einem vis widget über HTML script einen Datenpunkt manipuliert:

    Also statt send - muss da halt irgendwas anderes hin.

    <script>
    
    (function($scope) {
    
    $('.momentary_1').on('touchstart mousedown', function(e) {
       // e.preventDefault(); //prevent default behavior
       $scope.send({"payload": true});
    });
    
    $('.momentary_1').on('touchend mouseup', function(e) {
        // e.preventDefault(); //prevent default behavior
        $scope.send({"payload": false});
    });
        
    })(scope);
    </script>
    

    Ich kann Dir trotzdem nur sagen, dass Du nicht die gleiche Performance hinbekommst, wie aus der Harmony App. Jede einzelne Tastendruck sendet einen Befehl an den Hub und arbeitet irgendwie anders als die Harmony App.

    Alles was unter 500ms ist - landet in einer Queue und ist nicht mehr synchron mit dem Tastendruck. Das heißt Du drückst dann erhöht sich die Lautstärke lässt los und es wird weiter erhöht bis die Queue abgearbeitet ist.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Antwort Letzte Antwort
    0
    • Robert 0R Robert 0

      @paul53 wie meinst du das?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #11

      @robert-0 sagte: wie meinst du das?

      Etwa so:

      Blockly_temp.JPG

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable type="interval" id="leiser">leiser</variable>
         <variable type="interval" id="lauter">lauter</variable>
       </variables>
       <block type="comment" id="-fZ{%Tx}y:l4L~Htf)]=" x="162" y="64">
         <field name="COMMENT">Button lauter</field>
         <next>
           <block type="on_ext" id="BvIk``_6wyevdCM?nrEQ">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
             <field name="CONDITION">true</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="QXw5*b^Pp^P|#DlH/L:^">
                 <field name="oid">default</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="2s0QwHEf(I@~uCF$mN**">
                 <mutation else="1"></mutation>
                 <value name="IF0">
                   <block type="variables_get" id="~Gg4w7^kePpH[.o^;BOL">
                     <field name="VAR" id="leiser" variabletype="interval">leiser</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="timeouts_clearinterval" id="]Z(4:qoOI9pGGBh7H@:]">
                     <field name="NAME">leiser</field>
                   </block>
                 </statement>
                 <statement name="ELSE">
                   <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="comment" id="aX{yCNAc92R.Z/~Kd{hJ">
                         <field name="COMMENT">Button +1</field>
                         <next>
                           <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>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </statement>
             <next>
               <block type="comment" id="WYa^gz[j_)K~E6NUQ_Ue">
                 <field name="COMMENT">Button leiser</field>
                 <next>
                   <block type="on_ext" id="t69l9h/XMa+VG-glcwsk">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">true</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="hhdS@wDs=nJ2c6.{!?Ob">
                         <field name="oid">default</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="O0}#]C1,5y6qkxK:ABpT">
                         <mutation else="1"></mutation>
                         <value name="IF0">
                           <block type="variables_get" id="ul@O_-N@A#ysQg5k}@gL">
                             <field name="VAR" id="lauter" variabletype="interval">lauter</field>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="timeouts_clearinterval" id="$G$LSkK+#xspu$~[B|+B">
                             <field name="NAME">lauter</field>
                           </block>
                         </statement>
                         <statement name="ELSE">
                           <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="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>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      mickymM Robert 0R 3 Antworten Letzte Antwort
      0
      • paul53P paul53

        @robert-0 sagte: wie meinst du das?

        Etwa so:

        Blockly_temp.JPG

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable type="interval" id="leiser">leiser</variable>
           <variable type="interval" id="lauter">lauter</variable>
         </variables>
         <block type="comment" id="-fZ{%Tx}y:l4L~Htf)]=" x="162" y="64">
           <field name="COMMENT">Button lauter</field>
           <next>
             <block type="on_ext" id="BvIk``_6wyevdCM?nrEQ">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">true</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="QXw5*b^Pp^P|#DlH/L:^">
                   <field name="oid">default</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="2s0QwHEf(I@~uCF$mN**">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="variables_get" id="~Gg4w7^kePpH[.o^;BOL">
                       <field name="VAR" id="leiser" variabletype="interval">leiser</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="timeouts_clearinterval" id="]Z(4:qoOI9pGGBh7H@:]">
                       <field name="NAME">leiser</field>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <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="comment" id="aX{yCNAc92R.Z/~Kd{hJ">
                           <field name="COMMENT">Button +1</field>
                           <next>
                             <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>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </statement>
               <next>
                 <block type="comment" id="WYa^gz[j_)K~E6NUQ_Ue">
                   <field name="COMMENT">Button leiser</field>
                   <next>
                     <block type="on_ext" id="t69l9h/XMa+VG-glcwsk">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">true</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="hhdS@wDs=nJ2c6.{!?Ob">
                           <field name="oid">default</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="O0}#]C1,5y6qkxK:ABpT">
                           <mutation else="1"></mutation>
                           <value name="IF0">
                             <block type="variables_get" id="ul@O_-N@A#ysQg5k}@gL">
                               <field name="VAR" id="lauter" variabletype="interval">lauter</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="timeouts_clearinterval" id="$G$LSkK+#xspu$~[B|+B">
                               <field name="NAME">lauter</field>
                             </block>
                           </statement>
                           <statement name="ELSE">
                             <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="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>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
        </xml>
        

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #12

        @paul53 Ich weiß nicht ob Dein Blockly funktionieren würde - da bin ich nicht fit:

        Ich habe das so realisiert:
        5d2fe1d6-5ee6-4189-bb86-43086030df31-image.png
        Der trigger wird durch false beendet.
        4e4cee2f-cbd2-49b7-9872-e09e8aa18637-image.png
        Innerhalb Deiner zyklischen Ausführung müsste diese gestoppt werden, wenn der gleiche Datenpunkt false wird. Sobald bei Dir ja die zyklische Ausführung gestartet ist - müsste innerhalb dieser ja die Datenpunktüberprüfung permanent erfolgen. Im Prinzip müsstest Du sowas wie dieser trigger Node in meinen Augen programmieren.

        So wie das bei Dir jetzt aussieht würde es immer lauter werden ohne dass das mit der Dauer des Tastendrucks korreliert - außerdem wie stoppst du die zyklische Ausführung durch die leiser Taste?

        Also ich denke das geht nur asynchron zu lösen, indem irgendein Timer immer den Status eines Datenpunktes abfragt.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        Robert 0R 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @robert-0 sagte: wie meinst du das?

          Etwa so:

          Blockly_temp.JPG

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable type="interval" id="leiser">leiser</variable>
             <variable type="interval" id="lauter">lauter</variable>
           </variables>
           <block type="comment" id="-fZ{%Tx}y:l4L~Htf)]=" x="162" y="64">
             <field name="COMMENT">Button lauter</field>
             <next>
               <block type="on_ext" id="BvIk``_6wyevdCM?nrEQ">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                 <field name="CONDITION">true</field>
                 <field name="ACK_CONDITION"></field>
                 <value name="OID0">
                   <shadow type="field_oid" id="QXw5*b^Pp^P|#DlH/L:^">
                     <field name="oid">default</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="controls_if" id="2s0QwHEf(I@~uCF$mN**">
                     <mutation else="1"></mutation>
                     <value name="IF0">
                       <block type="variables_get" id="~Gg4w7^kePpH[.o^;BOL">
                         <field name="VAR" id="leiser" variabletype="interval">leiser</field>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="timeouts_clearinterval" id="]Z(4:qoOI9pGGBh7H@:]">
                         <field name="NAME">leiser</field>
                       </block>
                     </statement>
                     <statement name="ELSE">
                       <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="comment" id="aX{yCNAc92R.Z/~Kd{hJ">
                             <field name="COMMENT">Button +1</field>
                             <next>
                               <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>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <next>
                   <block type="comment" id="WYa^gz[j_)K~E6NUQ_Ue">
                     <field name="COMMENT">Button leiser</field>
                     <next>
                       <block type="on_ext" id="t69l9h/XMa+VG-glcwsk">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                         <field name="CONDITION">true</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="hhdS@wDs=nJ2c6.{!?Ob">
                             <field name="oid">default</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="O0}#]C1,5y6qkxK:ABpT">
                             <mutation else="1"></mutation>
                             <value name="IF0">
                               <block type="variables_get" id="ul@O_-N@A#ysQg5k}@gL">
                                 <field name="VAR" id="lauter" variabletype="interval">lauter</field>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="timeouts_clearinterval" id="$G$LSkK+#xspu$~[B|+B">
                                 <field name="NAME">lauter</field>
                               </block>
                             </statement>
                             <statement name="ELSE">
                               <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="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>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          Robert 0R Offline
          Robert 0R Offline
          Robert 0
          schrieb am zuletzt editiert von
          #13

          @paul53 das könnte funktionieren, ich versuche es morgen mal. Eine Frage habe ich dazu noch, was kommt bei default rein, sorry bin blutiger Anfänger😉

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @robert-0 sagte: wie meinst du das?

            Etwa so:

            Blockly_temp.JPG

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable type="interval" id="leiser">leiser</variable>
               <variable type="interval" id="lauter">lauter</variable>
             </variables>
             <block type="comment" id="-fZ{%Tx}y:l4L~Htf)]=" x="162" y="64">
               <field name="COMMENT">Button lauter</field>
               <next>
                 <block type="on_ext" id="BvIk``_6wyevdCM?nrEQ">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                   <field name="CONDITION">true</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="QXw5*b^Pp^P|#DlH/L:^">
                       <field name="oid">default</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="2s0QwHEf(I@~uCF$mN**">
                       <mutation else="1"></mutation>
                       <value name="IF0">
                         <block type="variables_get" id="~Gg4w7^kePpH[.o^;BOL">
                           <field name="VAR" id="leiser" variabletype="interval">leiser</field>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="timeouts_clearinterval" id="]Z(4:qoOI9pGGBh7H@:]">
                           <field name="NAME">leiser</field>
                         </block>
                       </statement>
                       <statement name="ELSE">
                         <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="comment" id="aX{yCNAc92R.Z/~Kd{hJ">
                               <field name="COMMENT">Button +1</field>
                               <next>
                                 <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>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </statement>
                   <next>
                     <block type="comment" id="WYa^gz[j_)K~E6NUQ_Ue">
                       <field name="COMMENT">Button leiser</field>
                       <next>
                         <block type="on_ext" id="t69l9h/XMa+VG-glcwsk">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                           <field name="CONDITION">true</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="hhdS@wDs=nJ2c6.{!?Ob">
                               <field name="oid">default</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="controls_if" id="O0}#]C1,5y6qkxK:ABpT">
                               <mutation else="1"></mutation>
                               <value name="IF0">
                                 <block type="variables_get" id="ul@O_-N@A#ysQg5k}@gL">
                                   <field name="VAR" id="lauter" variabletype="interval">lauter</field>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="timeouts_clearinterval" id="$G$LSkK+#xspu$~[B|+B">
                                   <field name="NAME">lauter</field>
                                 </block>
                               </statement>
                               <statement name="ELSE">
                                 <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="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>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            Robert 0R Offline
            Robert 0R Offline
            Robert 0
            schrieb am zuletzt editiert von
            #14

            @paul53 habe nicht warten wollen, habe dein Blockly importiert, leider funktioniert es nur bedingt, sobald ich den Button lauter drücke geht eine Schleife los die nicht mehr zu stoppen ist. Ich muss den Script stoppen und den Harmony Hub reseten. Muss man evtl. noch was einabuen im Blockly?

            paul53P mickymM 2 Antworten Letzte Antwort
            0
            • Robert 0R Robert 0

              @paul53 habe nicht warten wollen, habe dein Blockly importiert, leider funktioniert es nur bedingt, sobald ich den Button lauter drücke geht eine Schleife los die nicht mehr zu stoppen ist. Ich muss den Script stoppen und den Harmony Hub reseten. Muss man evtl. noch was einabuen im Blockly?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #15

              @robert-0 sagte: sobald ich den Button lauter drücke geht eine Schleife los die nicht mehr zu stoppen ist.

              Der Trigger-Datenpunkt muss ein virtueller Datenpunkt sein, der z.B. in Vis betätigt wird. Du hast zum Triggern den gleichen Datenpunkt verwendet, der die Lautstärke um 1 erhöht?

              Ergänze bitte noch zwei Intervall-Stopps, damit mit Sicherheit nur ein Intervall läuft.

              Bild_2021-04-05_234615.png

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              Robert 0R 1 Antwort Letzte Antwort
              0
              • Robert 0R Robert 0

                @paul53 habe nicht warten wollen, habe dein Blockly importiert, leider funktioniert es nur bedingt, sobald ich den Button lauter drücke geht eine Schleife los die nicht mehr zu stoppen ist. Ich muss den Script stoppen und den Harmony Hub reseten. Muss man evtl. noch was einabuen im Blockly?

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #16

                @robert-0 Wie gesagt Du siehst ja unter Deinen Objekten im Harmony Adapter schaust, dass Du keinen Zahlenwert addierst, sondern nur die Taste drückst:

                a4a048f2-7efe-4116-85c6-3c86d7afdc69-image.png

                Mit jedem Drücken (senden durch true) erhöhst Du genau um 1.

                Der Harmony Hub speichert weder Zustände noch Werte sondern gibt IR einfach den Befehl weiter - deshalb hast Du hier nur Tastendrücke.

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @robert-0 sagte: sobald ich den Button lauter drücke geht eine Schleife los die nicht mehr zu stoppen ist.

                  Der Trigger-Datenpunkt muss ein virtueller Datenpunkt sein, der z.B. in Vis betätigt wird. Du hast zum Triggern den gleichen Datenpunkt verwendet, der die Lautstärke um 1 erhöht?

                  Ergänze bitte noch zwei Intervall-Stopps, damit mit Sicherheit nur ein Intervall läuft.

                  Bild_2021-04-05_234615.png

                  Robert 0R Offline
                  Robert 0R Offline
                  Robert 0
                  schrieb am zuletzt editiert von
                  #17

                  @paul53 danke für deine Antwort, leider habe ich es nicht hinbekommen einen virtuellen Datenpunkt zu erstellen. Kannst du mir helfen, wie muss ich den erfassen?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • Robert 0R Robert 0

                    @paul53 danke für deine Antwort, leider habe ich es nicht hinbekommen einen virtuellen Datenpunkt zu erstellen. Kannst du mir helfen, wie muss ich den erfassen?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #18

                    @robert-0 sagte: es nicht hinbekommen einen virtuellen Datenpunkt zu erstellen.

                    Tab "Objekte": "0_userdata.0" selektieren --> + (drittes Symbol von rechts) Datenpunkt Typ "Logikwert" mit Name "Soundbar.lauter" hinzufügen --> Rolle "button" eintragen

                    userdp_neu.JPGBild_2021-04-06_113353.png

                    Ebenso für "leiser".

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    Robert 0R 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @robert-0 sagte: es nicht hinbekommen einen virtuellen Datenpunkt zu erstellen.

                      Tab "Objekte": "0_userdata.0" selektieren --> + (drittes Symbol von rechts) Datenpunkt Typ "Logikwert" mit Name "Soundbar.lauter" hinzufügen --> Rolle "button" eintragen

                      userdp_neu.JPGBild_2021-04-06_113353.png

                      Ebenso für "leiser".

                      Robert 0R Offline
                      Robert 0R Offline
                      Robert 0
                      schrieb am zuletzt editiert von
                      #19

                      @paul53 danke für die Angaben, kannst du mir noch sagen mit was für einem Widget ich das am besten steuere. Momentan habe ich das hqwidget pool.button mal versucht. Sobald ich das wähle fährt die LS hoch bis ich den leiser Button drücke. Ich denke da müsste ein anderer Button eingesetzt werden.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • Robert 0R Robert 0

                        @paul53 danke für die Angaben, kannst du mir noch sagen mit was für einem Widget ich das am besten steuere. Momentan habe ich das hqwidget pool.button mal versucht. Sobald ich das wähle fährt die LS hoch bis ich den leiser Button drücke. Ich denke da müsste ein anderer Button eingesetzt werden.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #20

                        @robert-0 sagte: mit was für einem Widget ich das am besten steuere.

                        Mit Vis kenne ich mich nicht aus.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        Robert 0R 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @robert-0 sagte: mit was für einem Widget ich das am besten steuere.

                          Mit Vis kenne ich mich nicht aus.

                          Robert 0R Offline
                          Robert 0R Offline
                          Robert 0
                          schrieb am zuletzt editiert von
                          #21

                          @paul53 danke dir vielmals, hast mir sehr geholfen. Weisst du evtl. noch eine Möglichkeit wie ich mir das Wissen aneignen kann, kennst du ein gutes Lehrmittel oder Video, einfach verständlich?

                          paul53P BananaJoeB 2 Antworten Letzte Antwort
                          0
                          • Robert 0R Robert 0

                            @paul53 danke dir vielmals, hast mir sehr geholfen. Weisst du evtl. noch eine Möglichkeit wie ich mir das Wissen aneignen kann, kennst du ein gutes Lehrmittel oder Video, einfach verständlich?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #22

                            @robert-0 sagte: Möglichkeit wie ich mir das Wissen aneignen kann

                            Das Wissen worüber?

                            • ioBroker
                            • Javascript
                            • Funktionen des Javascript-Adapters
                            • Blockly

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            Robert 0R 1 Antwort Letzte Antwort
                            0
                            • Robert 0R Robert 0

                              @paul53 danke dir vielmals, hast mir sehr geholfen. Weisst du evtl. noch eine Möglichkeit wie ich mir das Wissen aneignen kann, kennst du ein gutes Lehrmittel oder Video, einfach verständlich?

                              BananaJoeB Online
                              BananaJoeB Online
                              BananaJoe
                              Most Active
                              schrieb am zuletzt editiert von
                              #23

                              @robert-0 sagte in Lautstärke regeln mit Blockly:

                              @paul53 danke dir vielmals, hast mir sehr geholfen. Weisst du evtl. noch eine Möglichkeit wie ich mir das Wissen aneignen kann, kennst du ein gutes Lehrmittel oder Video, einfach verständlich?

                              Also am besten lernt man wenn man einen konkrete Aufgabe hat. Nur auf den blauen Dunst bringt - zumindest mir - wenig.
                              Und so waren es am Anfang viele Blockly-Skripte die ich mir zusammen-gegoogelt habe (wie eine Schleife machen, wie Datenpunkte anlegen usw.), dann eigene, dann JavaScript.

                              Um dann viele Dinge vom Anfang noch mal neu zu machen weil man es inzwischen besser kann.
                              Es muss ja am Anfang nicht gleich 100%-tig sein, es soll nur funktionieren.

                              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                              1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @robert-0 sagte: Möglichkeit wie ich mir das Wissen aneignen kann

                                Das Wissen worüber?

                                • ioBroker
                                • Javascript
                                • Funktionen des Javascript-Adapters
                                • Blockly
                                Robert 0R Offline
                                Robert 0R Offline
                                Robert 0
                                schrieb am zuletzt editiert von
                                #24

                                @paul53 danke dir, werde ich mal nachlesen. In der Zwischenzeit habe ich die LS Regelung mal direkt in den Objekten getestet. Sie verhält sich gleich wie im VIS, sobald ich den +Button einmal kurz drücke regelt die Lautstärke endlos hoch, ich muss dann den -Button einmal drücken um zu stoppen. Kann man das irgendwo konfigurieren. Idealerweise wäre die Funktion so, dass nur solange ich den Button drücke es regelt, siehst du da eine Möglichkeit?

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @paul53 Ich weiß nicht ob Dein Blockly funktionieren würde - da bin ich nicht fit:

                                  Ich habe das so realisiert:
                                  5d2fe1d6-5ee6-4189-bb86-43086030df31-image.png
                                  Der trigger wird durch false beendet.
                                  4e4cee2f-cbd2-49b7-9872-e09e8aa18637-image.png
                                  Innerhalb Deiner zyklischen Ausführung müsste diese gestoppt werden, wenn der gleiche Datenpunkt false wird. Sobald bei Dir ja die zyklische Ausführung gestartet ist - müsste innerhalb dieser ja die Datenpunktüberprüfung permanent erfolgen. Im Prinzip müsstest Du sowas wie dieser trigger Node in meinen Augen programmieren.

                                  So wie das bei Dir jetzt aussieht würde es immer lauter werden ohne dass das mit der Dauer des Tastendrucks korreliert - außerdem wie stoppst du die zyklische Ausführung durch die leiser Taste?

                                  Also ich denke das geht nur asynchron zu lösen, indem irgendein Timer immer den Status eines Datenpunktes abfragt.

                                  Robert 0R Offline
                                  Robert 0R Offline
                                  Robert 0
                                  schrieb am zuletzt editiert von
                                  #25

                                  @mickym danke für den Input, genau so verhält es sich im Moment.

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • Robert 0R Robert 0

                                    @mickym danke für den Input, genau so verhält es sich im Moment.

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #26

                                    @robert-0 Nun ich habe Dir ja ein paar Lösungsansätze beschrieben, wie es ginge - aber ich kanns Dir halt nicht mit Blockly umsetzen. Und mit Javascript bin ich mir mit der assynchronen Programmierung zu unsicher. Wie gesagt wenn Du Node Red als Logikmaschine einsetzen würdest - hättest Du schnell einen kurze Lösung.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    1 Antwort Letzte Antwort
                                    0
                                    • Robert 0R Robert 0

                                      @paul53 danke dir, werde ich mal nachlesen. In der Zwischenzeit habe ich die LS Regelung mal direkt in den Objekten getestet. Sie verhält sich gleich wie im VIS, sobald ich den +Button einmal kurz drücke regelt die Lautstärke endlos hoch, ich muss dann den -Button einmal drücken um zu stoppen. Kann man das irgendwo konfigurieren. Idealerweise wäre die Funktion so, dass nur solange ich den Button drücke es regelt, siehst du da eine Möglichkeit?

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #27

                                      @robert-0 sagte: nur solange ich den Button drücke es regelt, siehst du da eine Möglichkeit?

                                      Nur, wenn es in Vis einen Button gibt, der beim Loslassen von true auf false wechselt.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @robert-0 sagte: nur solange ich den Button drücke es regelt, siehst du da eine Möglichkeit?

                                        Nur, wenn es in Vis einen Button gibt, der beim Loslassen von true auf false wechselt.

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #28

                                        @paul53 Das macht dieses Widget doch - habe ich doch gesagt, weil man es als Taster konfigurieren kann. Der Datenpunkt ist solange true, solange gedrückt und wechselt auf false beim Loslassen.

                                        Das ist hier aber langsam mein letzter Beitrag - weil ich hier irgendwie das Gefühl habe, dass meine Beiträge hier niemand liest.

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        paul53P Robert 0R 2 Antworten Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @paul53 Das macht dieses Widget doch - habe ich doch gesagt, weil man es als Taster konfigurieren kann. Der Datenpunkt ist solange true, solange gedrückt und wechselt auf false beim Loslassen.

                                          Das ist hier aber langsam mein letzter Beitrag - weil ich hier irgendwie das Gefühl habe, dass meine Beiträge hier niemand liest.

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #29

                                          @mickym sagte: Das macht dieses Widget doch - habe ich doch gesagt, weil man es als Taster konfigurieren kann. Der Datenpunkt ist solange true, solange gedrückt und wechselt auf false beim Loslassen.

                                          Dann kann man es so in Blockly umsetzen:

                                          Bild_2021-04-06_150927.png

                                          Wert findet man unter "Trigger".

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          mickymM Robert 0R 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          814

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe