Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly richtig, habt ihr Optimierungen?

    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

    Blockly richtig, habt ihr Optimierungen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • snookerap
      snookerap last edited by

      Guten Abend,

      ich habe mir jetzt selber ein Blockly gebaut.
      Ich wollt einfach mal eure Meinung hierzu, ob dies so passt, oder man hier noch etwas ändern bzw. einsparen kann.
      Bin noch blutiger Anfänger zum Thema JS und Blockly.

      Das Skript funktioniert aber 1a! Hier geht es nur um Optimierungen.

      Habe eine runde Tradfri-Remote über Deconz eingebunden, beim betätigen des mittleren PowerButton gibt sie den Wert "1002", danach springt sie sofort wieder auf "0".
      Geschaltet wird ein Homematic-Licht mit "true" und "false".

      Vielen Dank schon mal für eure Anregungen.

      Anmerkung 2020-01-10 222345.png

      <xml xmlns="http://www.w3.org/1999/xhtml">
       <block type="comment" id="W_dsv$x(sSJ/%UX+k#eq" x="-187" y="63">
         <field name="COMMENT">Tradfri Remote schaltet Licht ein/aus</field>
         <next>
           <block type="on" id="f43d`Q_Ct+w.ics+X1OA">
             <field name="OID">deconz.0.Sensors.20.buttonpressed</field>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="controls_if" id="%`#!wo{+}!fM,Jgt-zuI">
                 <value name="IF0">
                   <block type="logic_operation" id="0vEW{e$O9iPBO`9F=`gm">
                     <field name="OP">AND</field>
                     <value name="A">
                       <block type="logic_compare" id="6r-FQ^J,-|uc,ce]70X`">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="get_value" id="=iD)iuXJ{yuj}@9uM}+U">
                             <field name="ATTR">val</field>
                             <field name="OID">deconz.0.Sensors.20.buttonpressed</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="math_number" id="A~+kPJ*|EPDs+Xv2y(I+">
                             <field name="NUM">1002</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <block type="logic_compare" id="|l5{WP:AjqVa2a-ML%Jg">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="get_value" id="Z4HU=_LbWIm4)K?LM~`m">
                             <field name="ATTR">val</field>
                             <field name="OID">hm-rpc.1.0008578858B01F.4.STATE</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_boolean" id="pJtg?x(3_4YGFF`D)xnC">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="control" id="=BloP=cm^grfcAPYXK#!">
                     <mutation delay_input="false"></mutation>
                     <field name="OID">hm-rpc.1.0008578858B01F.4.STATE</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="g1EAjs;XU.,-Or@S_4p8">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                   </block>
                 </statement>
                 <next>
                   <block type="controls_if" id="/N`OBM;G(7tVLa11]Yms">
                     <value name="IF0">
                       <block type="logic_operation" id="Zr%o+bvc@kt$*Nk~v-o-">
                         <field name="OP">AND</field>
                         <value name="A">
                           <block type="logic_compare" id="3Z(ly_$d`*Tj|0HX)0un">
                             <field name="OP">EQ</field>
                             <value name="A">
                               <block type="get_value" id="l)p,0tdEW4e{ky%IpwQu">
                                 <field name="ATTR">val</field>
                                 <field name="OID">deconz.0.Sensors.20.buttonpressed</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="math_number" id="VkW(q/xj#Y!%+Zh{9{z4">
                                 <field name="NUM">1002</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_compare" id="FBb5q~kj#A$^[6e*]^v}">
                             <field name="OP">EQ</field>
                             <value name="A">
                               <block type="get_value" id="Jsp0n1#r}^^Xcz`:u/3Z">
                                 <field name="ATTR">val</field>
                                 <field name="OID">hm-rpc.1.0008578858B01F.4.STATE</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="logic_boolean" id="rT,M1+YSzN*-G[3~@a)C">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="control" id="K4!-.Jka,.m(|H6Bg24-">
                         <mutation delay_input="false"></mutation>
                         <field name="OID">hm-rpc.1.0008578858B01F.4.STATE</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="Agr6{04GXAAtqmMml$H7">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

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

        @Christian-Richter sagte:

        Hier geht es nur um Optimierungen.

        Blockly_temp.JPG

        snookerap 1 Reply Last reply Reply Quote 1
        • snookerap
          snookerap @paul53 last edited by

          @paul53 und ich war schon so stolz, dass ich ein funktionierendes Skript gebaut habe... 🙂

          Aber so einfach kann es auch sein, habs direkt nachgebaut und es läuft auch.

          Vielen Dank...

          1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @snookerap last edited by

            @Christian-Richter es gibt noch eine “Vereinfachung”, die weniger das blockly als die Ausführung betrifft. So wie es jetzt ist trigger das Skript bei jedem Tastendruck 2 mal (Änderung von 0 auf x, Änderung von x auf 0, wobei x der Zahlenwert für den Taster ist)
            Wenn du von “wurde geändert” auf “ist größer als vorher” wechselt wird nur einmal getriggert.

            A.

            snookerap 1 Reply Last reply Reply Quote 0
            • snookerap
              snookerap @Asgothian last edited by

              @Asgothian ich denke, dass könnte dann aber Probleme geben mit den anderen Tasten..?

              Die Fernbedienung hat 5 Tasten, jede Taste schickt einen anderen Wert, das Objekt ist aber das selbe.
              -> mittler Taste: 1002; oben: 2002; unten: 3002; links: 4002; rechts: 5002

              Da kommt nämlich auch schon meine zweite Hürde, wo ich nicht weiterkomme.

              Ich habe eine Tint-Leuchte und möchte den Wert "bri" ändern, welcher von 0-255 geht.

              Drücke ich kurz Taste "oben" gibt sie den Wert "2002", halte ich aber "oben" gedrückt, liefert sie kurz den Wert "2001" und wenn ich sie loslasse kommt kurz der Wert"2003".
              Kann ich damit überhaupt stufenlos die Lampe dimmen oder sollte ich lieber in Stufen über den Wert"2002" die Lampe dimmen?

              Wie sollte das Skript dazu aussehen?

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @snookerap last edited by

                @Christian-Richter
                Das ist etwas komplexer. B1FA599E-2CD9-49F7-8669-D0CE249F0623.jpeg

                Du kannst aber im gleichen trigger mehrere wenn Blöcke nutzen.
                Für ein kontinuierliches hochdimmen wäre ein Intervall Block der beste.

                Ich hoffe das Beispiel hilft.

                A.

                1 Reply Last reply Reply Quote 0
                • snookerap
                  snookerap last edited by snookerap

                  Super, bin damit nun am Ziel.
                  Habe das Skript nun noch um die rechts/links-Tasten erweitert, damit kann man nun auch die Farbtemperatur ändern.

                  Vielen Dank.

                  Hier noch das Skript zur runden IKEA Tradfri Fernbedienung:

                  <xml xmlns="http://www.w3.org/1999/xhtml">
                   <variables>
                     <variable type="undefined" id="Intervall">Intervall</variable>
                     <variable type="undefined" id="Intervall2">Intervall2</variable>
                   </variables>
                   <block type="comment" id="GF?#]TDMX0fEUD5;_010" x="-112" y="13">
                     <field name="COMMENT">Tradfri Fernbedienung rund</field>
                     <next>
                       <block type="on" id="PS7sjAC%Zz]_`PCPSsHG">
                         <field name="OID">deconz.0.Sensors.21.buttonpressed</field>
                         <field name="CONDITION">any</field>
                         <field name="ACK_CONDITION"></field>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="S|K#ydTR12qX0elAf@BO">
                             <mutation elseif="8"></mutation>
                             <value name="IF0">
                               <block type="logic_compare" id="49d}ONGxYMVl^Q[On#]v">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="oiG.ITkl:.9o7{_}X9}M">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id=")8LqWiRMJ`^TPQA[7u?p">
                                     <field name="NUM">1002</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="comment" id="g,@Bi+F{ebs9:DMEK(y(">
                                 <field name="COMMENT">PowerButton an/aus</field>
                                 <next>
                                   <block type="toggle" id="GTWB@zw%bHy=B:,0*M:L">
                                     <mutation delay_input="false"></mutation>
                                     <field name="OID">deconz.0.Lights.11.on</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <value name="IF1">
                               <block type="logic_compare" id="jW~||2rj0n):0ZcabS6Z">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="g?C/*M5}~lsGHl;d/.}x">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="fuoJYSyzUDbb,kDw/K#F">
                                     <field name="NUM">2001</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO1">
                               <block type="comment" id="0;(Ira]r^}^A[HuV-pxP">
                                 <field name="COMMENT">HellerButton gedrückt halten</field>
                                 <next>
                                   <block type="timeouts_setinterval" id="+8e^LD*/n7IAk_[qVtKp">
                                     <field name="NAME">Intervall</field>
                                     <field name="INTERVAL">100</field>
                                     <field name="UNIT">ms</field>
                                     <statement name="STATEMENT">
                                       <block type="control" id=":O`(O~Xm9K^$HdAY_Ugg">
                                         <mutation delay_input="false"></mutation>
                                         <field name="OID">deconz.0.Lights.11.bri</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="xL{U:#n-)o,p+[;I9I1M">
                                             <field name="OP">ADD</field>
                                             <value name="A">
                                               <shadow type="math_number" id="K.Tqe=!]r;F=2=n_:,9s">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="get_value" id="%0KZJ55(w!LpB?]S+a:s">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">deconz.0.Lights.11.bri</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id=",:LrhAOF20_xFO{EO}}+">
                                                 <field name="NUM">5</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <value name="IF2">
                               <block type="logic_compare" id="^Q+E!bb7_1X^h@!_Cf#Z">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="/fHwAA$~5oF2z_qPw/oc">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="Z7-MEz,W.uqjovD@E7hW">
                                     <field name="NUM">2003</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO2">
                               <block type="timeouts_clearinterval" id="$L_dFqmV3UCKQHQ))Ph)">
                                 <field name="NAME">Intervall</field>
                               </block>
                             </statement>
                             <value name="IF3">
                               <block type="logic_compare" id="e@#;:j%gTiE49jXv5LfP">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="wvx*4WdQzL`(w!Myx~60">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="#/XPR1}uYCeC!j0fiMLj">
                                     <field name="NUM">2002</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO3">
                               <block type="comment" id="_iJm@?sm2ch$@C=|:|wZ">
                                 <field name="COMMENT">HellerButton kurz drücken</field>
                                 <next>
                                   <block type="control" id="1Nes%3/w8lO0$(r@amD,">
                                     <mutation delay_input="false"></mutation>
                                     <field name="OID">deconz.0.Lights.11.bri</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id=":APjOg1u[MFVR?TmoY*9">
                                         <field name="OP">ADD</field>
                                         <value name="A">
                                           <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="b$zWLnSevo;2m(LTG/xI">
                                             <field name="ATTR">val</field>
                                             <field name="OID">deconz.0.Lights.11.bri</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="EL3o5qF%r@P[,76)vwBu">
                                             <field name="NUM">50</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <value name="IF4">
                               <block type="logic_compare" id="GtDo4SwgdMCgm4M-(oxX">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="{ON(*:nOi/Fo!;-Vnor)">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="fY3%{TKV}Uu.|[1B.s/W">
                                     <field name="NUM">3001</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO4">
                               <block type="comment" id="O3MR8B/S`;9SWb]s!._6">
                                 <field name="COMMENT">DunklerButton gedrückt halten</field>
                                 <next>
                                   <block type="timeouts_setinterval" id="p/j*@#}dBXopL%g;~{8(">
                                     <field name="NAME">Intervall2</field>
                                     <field name="INTERVAL">100</field>
                                     <field name="UNIT">ms</field>
                                     <statement name="STATEMENT">
                                       <block type="control" id="7GOv#eCNZ3aG}pl)~N4[">
                                         <mutation delay_input="false"></mutation>
                                         <field name="OID">deconz.0.Lights.11.bri</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="]T?B7Q$V~Z@qX58lzB2$">
                                             <field name="OP">MINUS</field>
                                             <value name="A">
                                               <shadow type="math_number" id="K.Tqe=!]r;F=2=n_:,9s">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="get_value" id="R@0e2ZgFqrP|Kg5h_mjJ">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">deconz.0.Lights.11.bri</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id="4td,9E240^l$VUJw|QvS">
                                                 <field name="NUM">5</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <value name="IF5">
                               <block type="logic_compare" id=":uT}}1Jyj(E^ki~~%FAw">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="5oM9z5IYMMs(gfqkw!Ph">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="+.9}/,HqYnohoOx[hQE_">
                                     <field name="NUM">3003</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO5">
                               <block type="timeouts_clearinterval" id="{QYloP}~KUDjL:p1%lQq">
                                 <field name="NAME">Intervall2</field>
                               </block>
                             </statement>
                             <value name="IF6">
                               <block type="logic_compare" id="FaTb%(n,rsi?IqJP2nyL">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="Sh~wut|vnHZ$mPqbh-UZ">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="u[y?P[~XW|F0=@QcpNr4">
                                     <field name="NUM">3002</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO6">
                               <block type="comment" id=";8I-b=cKfU$$k8t^#mJ2">
                                 <field name="COMMENT">DunklerButton kurz drücken</field>
                                 <next>
                                   <block type="control" id="T.P-{$/8h;%@?Hh9Mie^">
                                     <mutation delay_input="false"></mutation>
                                     <field name="OID">deconz.0.Lights.11.bri</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id="j)?K/_tAn(3f3FQB@8n/">
                                         <field name="OP">MINUS</field>
                                         <value name="A">
                                           <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="mT~!G2ErYr?`ilQ7!F@{">
                                             <field name="ATTR">val</field>
                                             <field name="OID">deconz.0.Lights.11.bri</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="s*AwTR}KXhDaf@Z!=qBJ">
                                             <field name="NUM">50</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <value name="IF7">
                               <block type="logic_compare" id="wkB|Bu?+d$*!OM0-DM-5">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="VoN_Iv9?6eN{.)mln7f}">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="ZLgLe{e1JW6pXC;t#B6e">
                                     <field name="NUM">5002</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO7">
                               <block type="comment" id="yjD+xVUZ!m88~[oF$p!5">
                                 <field name="COMMENT">rechter Button drücken oder halten</field>
                                 <next>
                                   <block type="control" id="MU#u3x-^:8{s;7nC.7[q">
                                     <mutation delay_input="false"></mutation>
                                     <field name="OID">deconz.0.Lights.11.ct</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id="[5hpu(EIxY=!s)k8GI%~">
                                         <field name="OP">ADD</field>
                                         <value name="A">
                                           <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="rS81j2E!708%r`czh*OU">
                                             <field name="ATTR">val</field>
                                             <field name="OID">deconz.0.Lights.11.ct</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="C=0#As#~GTa5_Gg3!ss^">
                                             <field name="NUM">50</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <value name="IF8">
                               <block type="logic_compare" id="3d.]lc-VwM9xb@4fv~rR">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="on_source" id="mm-kYA@4jwl?b^UAn4]g">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id="doIT]/g.h=o4#P4F5cd_">
                                     <field name="NUM">4002</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO8">
                               <block type="comment" id="=K**+WE/L[ON8emj0@,/">
                                 <field name="COMMENT">linker Button drücken oder halten</field>
                                 <next>
                                   <block type="control" id="HQ+)1j=3?NO;h5u?n}mT">
                                     <mutation delay_input="false"></mutation>
                                     <field name="OID">deconz.0.Lights.11.ct</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id=".;?A8=c_4[*`WTb=mOi?">
                                         <field name="OP">MINUS</field>
                                         <value name="A">
                                           <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="`|mYn[9gx;LI}x?}#O.n">
                                             <field name="ATTR">val</field>
                                             <field name="OID">deconz.0.Lights.11.ct</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="[PinUQ5hb3ee]o65B]Ii">
                                             <field name="NUM">50</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  Anmerkung 2020-01-11 105651.png

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  817
                  Online

                  31.8k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  blockly javascript
                  3
                  7
                  1127
                  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