Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Bewegungsmelder mit Dauer-An /Dauer-Aus Funktion

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bewegungsmelder mit Dauer-An /Dauer-Aus Funktion

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

      @freak1051 sagte:

      soll der Touch die Dauerlicht-Funktion an/abschalten.

      Wenn der Touch ein Taster ist, der togglen soll, sollte es so funktionieren:

      Blockly_temp.JPG

      paul53 1 Reply Last reply Reply Quote 0
      • M
        Muchul last edited by Muchul

        Hier mein Blokly dazu:
        Ich habe da noch weitere Funktionen drin, wie Schaltung wenn es dunkel wird und auch eine Dimmung ab 23 uhr.
        Aber du kannst die Funktionen ja Rausnehmen.

        <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="1:+;MB0lYbi~SK?n%E}x" x="-1813" y="-616">
          <field name="OID">zigbee.0.00158d0003fb0098.occupancy</field>
          <field name="CONDITION">any</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="r.).SB$~oiak./`$W1s1">
              <value name="IF0">
                <block type="logic_operation" id="[}TfD(makZp]Wvsz!r;u">
                  <field name="OP">AND</field>
                  <value name="A">
                    <block type="logic_compare" id="4ZhXvz(@{oDYV#V`+#2w">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="S~+_KWPsNi7D-sQR6)w!">
                          <field name="ATTR">val</field>
                          <field name="OID">zigbee.0.00158d0003fb0098.occupancy</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="Jhu68kkfU0jx_~_~|*4a">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="B">
                    <block type="time_compare_ex" id="HFeO=z[A]%ubi!UJvs!A">
                      <mutation end_time="true" actual_time="true"></mutation>
                      <field name="USE_ACTUAL_TIME">TRUE</field>
                      <field name="OPTION">not between</field>
                      <value name="START_TIME">
                        <shadow type="text" id="1[(WPy+={:AiX{b?hvgd">
                          <field name="TEXT">12:00</field>
                        </shadow>
                        <block type="time_astro" id="/Wdf{7nyr%j5@MynFkm|">
                          <field name="TYPE">sunrise</field>
                          <field name="OFFSET">0</field>
                        </block>
                      </value>
                      <value name="END_TIME">
                        <shadow type="text" id="`QEn)Bq-kHk`*tVUG,Z5">
                          <field name="TEXT">18:00</field>
                        </shadow>
                        <block type="time_astro" id="fP[sz*#g8T`v61RaHxYL">
                          <field name="TYPE">sunset</field>
                          <field name="OFFSET">-45</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="timeouts_cleartimeout" id="ZUWkLrRP@7|1x%H?ug)L">
                  <field name="NAME">timeout4</field>
                  <next>
                    <block type="controls_if" id="l9l5MVw5v$1)O+!?p{ax">
                      <mutation else="1"></mutation>
                      <value name="IF0">
                        <block type="time_compare_ex" id="+8O2N7*5JO3wk+YuhiF:">
                          <mutation end_time="true" actual_time="true"></mutation>
                          <field name="USE_ACTUAL_TIME">TRUE</field>
                          <field name="OPTION">not between</field>
                          <value name="START_TIME">
                            <shadow type="text" id="VVD]BPwhhHayK_MA|F.G">
                              <field name="TEXT">06:00</field>
                            </shadow>
                          </value>
                          <value name="END_TIME">
                            <shadow type="text" id=".H)3+N#EDgFkk~$C.OGl">
                              <field name="TEXT">23:00</field>
                            </shadow>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="control" id="m~pnL!oL*NaH(+T|be^l">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">zigbee.0.000b57fffe30fa58.brightness</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="math_number" id="O8/?L0w*s`rvW-7@JbtN">
                              <field name="NUM">50</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <statement name="ELSE">
                        <block type="control" id="mVNhKtAV,~Z`/e(%1py~">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">zigbee.0.000b57fffe30fa58.brightness</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="math_number" id="jkF;t^H2u=2DRQ;J0c8A">
                              <field name="NUM">100</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <next>
                        <block type="timeouts_settimeout" id="@fSo/||p?=SI2W_|;amb">
                          <field name="NAME">timeout4</field>
                          <field name="DELAY">30</field>
                          <field name="UNIT">sec</field>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="Hmoo~L{dL1jr%!8=NB;v">
                              <value name="IF0">
                                <block type="logic_compare" id="^ZxVoN:*~|$X.K`pGWSj">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="w~QR3i2jz17bls`W?8#O">
                                      <field name="ATTR">val</field>
                                      <field name="OID">1Virtuelle_Geräte.0.Flur_Licht_manuell</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="^J!=4v%Cq%?]RrB6R[xu">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="control" id="C1Qopj~~AaGq(]iZe@BL">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">zigbee.0.000b57fffe30fa58.brightness</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="math_number" id="/`MmN8?`J~Sq/U/)];?]">
                                      <field name="NUM">0</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
        

        BWM_Flur.JPG

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

          @paul53 sagte:

          Wenn der Touch ein Taster ist

          Wenn der Touch jedoch den Aktor enthält, der direkt von der Taste umgeschaltet wird, sollte es so funktionieren:

          Blockly_temp.JPG

          Export:

          <xml xmlns="http://www.w3.org/1999/xhtml">
           <variables>
             <variable type="" id="J?SRdnY^Iwq2c3:ZdG0a">licht</variable>
             <variable type="" id="vpjv.#|)AVRg=4L96v`V">bwm</variable>
             <variable type="" id="#Qd!`lG{ye^7ebGe`vGG">dauerlicht</variable>
           </variables>
           <block type="comment" id="N@{t%%iI^]D-#.UCLJcD" x="-238" y="-563">
             <field name="COMMENT">BWM</field>
             <next>
               <block type="on_ext" id="f|bj?-E,4}3(fr{_qg@I">
                 <mutation items="1"></mutation>
                 <field name="CONDITION">ne</field>
                 <field name="ACK_CONDITION"></field>
                 <value name="OID0">
                   <shadow type="field_oid" id="E:Tfbtr8,=o-siW$?fM;">
                     <field name="oid">default</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="controls_if" id="nTbcU|mc]UO7ga}ld;3B">
                     <value name="IF0">
                       <block type="logic_negate" id="rRyx[_Rpv]yIM+LF`.S5">
                         <value name="BOOL">
                           <block type="variables_get" id="^cYw=t?O.qKxNY;r6TI+">
                             <field name="VAR" id="#Qd!`lG{ye^7ebGe`vGG" variabletype="">dauerlicht</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="variables_set" id="q%cV%=$./8T0lKh)s-K`">
                         <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                         <value name="VALUE">
                           <block type="on_source" id="_^Z{ED0B|8FJ2)VzWtr5">
                             <field name="ATTR">state.val</field>
                           </block>
                         </value>
                         <next>
                           <block type="control" id="Y%+P976ss3n^^LdSeM91">
                             <mutation delay_input="false"></mutation>
                             <field name="OID">Object ID</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="variables_get" id="4H^u$!x~|%]~V#6m{Vj:">
                                 <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <next>
                   <block type="comment" id="kjjmLopy%Mj[^f7$=q{q">
                     <field name="COMMENT">Lichtaktor</field>
                     <next>
                       <block type="variables_set" id="dEI5[*)P|b%Cllm%{_Qj">
                         <field name="VAR" id="J?SRdnY^Iwq2c3:ZdG0a" variabletype="">licht</field>
                         <value name="VALUE">
                           <block type="get_value" id="P,)W@Bu[-*le;xhVpFl4">
                             <field name="ATTR">val</field>
                             <field name="OID">ID auswählen</field>
                           </block>
                         </value>
                         <next>
                           <block type="on_ext" id="G2^IChJ~h]+%W^-SMBaK">
                             <mutation items="1"></mutation>
                             <field name="CONDITION">ne</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid" id="rZJH[[^h$mYxI3/q`M@l">
                                 <field name="oid">default</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="variables_set" id="R|UblWWs`M=9u~$8J(tH">
                                 <field name="VAR" id="J?SRdnY^Iwq2c3:ZdG0a" variabletype="">licht</field>
                                 <value name="VALUE">
                                   <block type="on_source" id="qaALVuZWYw,g!`D[|L4i">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="g0-[wb7|KK)/^TNMW$,Z">
                                     <mutation else="1"></mutation>
                                     <value name="IF0">
                                       <block type="variables_get" id="IXy?VBV9kCHkW_nb)0.~">
                                         <field name="VAR" id="J?SRdnY^Iwq2c3:ZdG0a" variabletype="">licht</field>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="controls_if" id="0h72l]OHu_d3/KBlrl^^">
                                         <value name="IF0">
                                           <block type="logic_negate" id="xGtaxEU)2.ae@CaQGA4K">
                                             <value name="BOOL">
                                               <block type="variables_get" id="kMHnB,1%UMz607WrG+d7">
                                                 <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="variables_set" id="eHC/Svin:uDB@82v6HkM">
                                             <field name="VAR" id="#Qd!`lG{ye^7ebGe`vGG" variabletype="">dauerlicht</field>
                                             <value name="VALUE">
                                               <block type="logic_boolean" id="JMMD}ET`~t04.Z(x6gEU">
                                                 <field name="BOOL">TRUE</field>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                     <statement name="ELSE">
                                       <block type="variables_set" id="SR(mk(27%*,j;`Xa5tF~">
                                         <field name="VAR" id="#Qd!`lG{ye^7ebGe`vGG" variabletype="">dauerlicht</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="uaJzg)DKmQ`rE3ENP60V">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="8?5}[qjWN^165(Sv/]C.">
                                             <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                                             <value name="VALUE">
                                               <block type="logic_boolean" id="dEEw5=-hmx7]PQ+Ie+P=">
                                                 <field name="BOOL">FALSE</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

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

            @paul53

            Habe jetzt es Soweit schon mal gemacht:

            SkriptPaul53Fragen.png

            Occupancy ist der Ausgang meines Bewegungsmelders. Dieser bleibt wie gesagt ca. 100 Sekunden auf High, sobald er eine Bewegung bekommen hat.

            Office Tasmota POWER ist der Taster/Aktor. Folglich: Wenn Bewegung dann schalte ein. Soweit verstanden.

            SkriptPaul53Fragen_1.png

            Hier Setze ich wahrscheinlich nun auch den Office Tasmota Power ein, falls ich manuell darauf klicke, dass er Das licht einschält. Soweit auch verstanden.

            Zum Verständnis:

            SkriptPaul53Fragen_2.png

            Bei ID Auswählen habe ich ja gesagt ich mach den Office Tasmota POWER rein, und Wert (unteres Kästchen) übernimmt dann den Wert, den ich in eben dieser Object ID auslese ?

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

              @freak1051 sagte:

              SPS-Progammierer und kann auch C#

              Mit C-Kenntnissen sollte die Einarbeitung in Javascript nicht schwer fallen.
              Gegenüber der zyklischen Programm-Abarbeitung in einer SPS funktioniert Javascript Ereignis gesteuert, woran man sich erst einmal gewöhnen muss. Die Javascript-Doku zu ioBroker kennst Du ?

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

                @freak1051 sagte:

                Hier Setze ich wahrscheinlich nun auch den Office Tasmota Power ein

                Ja. Darauf deutet auch der Variablenbezeichner hin.

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

                  @paul53

                  Ich liebe zyklische Abarbeitung 🙂

                  Nee ich habe ich der Technikerschule vieles mit Arduino, C# usw gemacht. Mir fehlt hier eigentlich nur ein "while(true) {} " 🙂

                  Mit ist schon klar, dass ich hier Objektorientiert arbeite, ich tu mich nur Mega schwer mit dem Blocky. Allerdings finde ich die Syntax von JavaScript auch sehr Gewöhungsbedürftig. If -Else gibt es hier nicht, zumindest nicht in der Form oder ?

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

                    @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                    If -Else gibt es hier nicht, zumindest nicht in der Form oder ?

                    Doch, gibt es.

                    1 Reply Last reply Reply Quote 0
                    • F
                      freak1051 last edited by freak1051

                      Soweit bin ich jetzt:

                      SkriptPaul53Fragen_3.png

                      nur jetzt noch Logische Fragen:

                      Warum muss ich (direkt unter dem Kommentar) die Variable Licht schon mal auf den Wert des Schalters setzen, wenn ich danach, getriggert durch die Zustandsänderung, wieder Licht auf die den Zustand des Sonoff-Touch setze?. Ist das nicht doppelt gemoppelt?

                      Weiter in der Logik:

                      Wenn der BWM nicht ist, dann setzte Dauerlicht. Ich muss allerdings am BWM vorbei um den Taster zu schalten. Folglich ist der BWM nie aus wenn ich an den Taster laufe

                      Denke hier wird mein Problem liegen:

                      Der BWM wird immer High sein, wenn ich an den Taster laufe um Dauerlicht einzuschalten. Also komm ich Hier doch in eine Selbsthaltung rein ?!

                      Zudem Funktioniert mein Dauer-Aus doch auch nicht. Weil wenn ich den Schalter Aus-tapse und der bewegungsmelder Detektiert, geht er doch wieder an, oder?`

                      Ich denke, ich werde hier doch abwarten müssen und ein zusätzlichen Sonoff Switch bestellen. Dann kann ich den Wandschalter (Touch) tatsächlich NUR als Sensor/Eingang nutzen und diesen Per Touch oder Alexa steuern. Und dessen Status dann nehmen um höher Priorisiert zu sagen, wenn BWM ein Und Dauer an, dann bleib an.

                      Mit der Dauer-Aus habe ich dann och ein Kleines Problem, könnte ja aber ein zusätzliches Virtuelles Gerät mittels Alexa anlegen, welches die Höchste prio hat.

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

                        @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                        Warum muss ich (direkt unter dem Kommentar) die Variable Licht schon mal auf den Wert des Schalters setzen

                        Es ist in diesem Fall nicht nötig, da die Variable Licht nur innerhalb der Trigger-Calback-Funktion ausgewertet wird. Würde sie noch woanders ausgewertet, müsste sie so beim Skriptstart gesetzt werden.

                        @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                        Folglich ist der BWM nie aus wenn ich an den Taster laufe

                        Dann ist eine Auswertung der Quelle ohne einen Taster-Datenpunkt nicht möglich.

                        @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                        Funktioniert mein Dauer-Aus doch auch nicht.

                        Das wäre ein dritter Zustand: Dauer-Aus/Dauer-Ein/Auto(BWM). Unter welchen Umständen soll dieser erreicht werden ?

                        1 Reply Last reply Reply Quote 0
                        • F
                          freak1051 last edited by

                          Hier mal eine Übersicht:

                          SkriptPaul53Fragen_4.png

                          Am Roten Kreis ist bisher ein BWM eingebaut, welcher anstatt des Konventionellen Lichtschalters fungiert. Diesen Kann ich auch auf Dauer AN oder Dauer AUS setzen.

                          Zu 90 % ist er aber im BWM Auto Betrieb. Allerdings erkennt dieser, aufgrund der niedrigen Position erst recht spät. Also muss man im Dunkeln recht weit in den Raum reinlaufen, bis das Licht angeht.

                          Um dies zu ändern war der Plan an diese Stelle einen Sonoff Touch zu setzen, welcher das Licht schällt, und den neuen BWM überhalb des PC´s zu setzten. Somit läuft man um den Raumtrenner und der BWM macht seine Arbeit wie gewohnt, nur zuverlässiger.

                          Die Dauer AN Funktion wird gebraucht um am PC/Schreibtisch zu arbeiten. Früher wurde angemacht, aber meist (weil es ja sonst immer von alleine ausgeht) Vergessen zum ausmachen. (Nervig wenn man eigentlich ins Bett gegangen ist 🙂 )

                          Die Dauer Aus Funktion soll auch schaltbar sein, wird genutzt wenn einer der 2 Bewohner (meist die Frau) schon im Bett ist und der andere ( meistens ich) noch am PC sitzt un zockt. Damit nicht bei jeder zweiten Bewegung das Licht eingeht und der schlafende gestört wird.

                          Soll die Funktion sein.

                          So wie ich das aktuell sehe brauche ich eigentlich 2 Losgelöste Schalter (Touch) und einen Switch, welchen ich direkt vor die Lampe setze.

                          Somit könnte ich Dauer ein/dauer aus schalten und die Touch als abfragen verwenden, OHNE das sie Direkt eine Last schalten. Wenn keiner der Taster aktiv ist ist die BWM-Auto Funktion scharf.

                          Die Taster kann ich einfach über ne Alexa Steuern.

                          Nun ist nur die Frage die ich mir stellen muss: Wenn ich eh schon bestelle, kaufe ich Zusätzlich einen 2-kanaligen Sonoff Touch, um Dauer An/Dauer aus zu realisieren, oder nehme ich den einkanaligen, welchen ich aktuell habe, und mach mit ihm die Steuerung Dauer An/BWM -Auto und wenn ich Dauer Aus möchte gehts nur über die Alexa. Denke um einen zusätzlichen Schalter (Sonoff Switch oder Pow oder sowas ) komme ich nicht herum

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

                            @freak1051 sagte:

                            Die Dauer AN Funktion wird gebraucht um am PC/Schreibtisch zu arbeiten.

                            Dauer AN sollte mit dem Skript oben trotz ansprechendem BWM funktionieren, wenn man per Touch aus- und gleich wieder einschaltet.
                            Für Dauer AUS benötigt man einen weiteren Datenpunkt.

                            1 Reply Last reply Reply Quote 0
                            • R
                              roolix last edited by roolix

                              Hallo,

                              ich dachte mir, bevor ich einen weiteren Thread aufmache, hänge ich mich mal mit hier an, denn die Funktion, die ich realisieren will, ist sehr ähnlich:

                              1. BWM (Xiaomi RTCGQ01LM) schaltet das Licht ein und geht nach einiger Zeit wieder automatisch aus
                              2. Parallel soll per Taster (Xiaomi WXKG01LM) das Licht ein- und ausgeschaltet werden können, mit einem Toggle.
                              3. Ist das Licht per BWM eingeschaltet, soll es auch per Taster ausschaltbar sein.

                              Geschaltet wird ein Tradfri LED-Treiber 10W (IKEA ICPSHC24-10EU-IL-1) mit einer Ledberg-LED-Leiste.

                              Mein kleines Problem liegt lt. log "nur" darin, dass nach einem regulären Timeout ein Schalten per Taster einen clearTimeout-Fehler bringt:

                              200303-210845-Window.jpg

                              200303-210911-Window.jpg

                              Hat jemand eine Idee, wie ich den vermeiden kann?

                              btw:
                              a) stelle ich bei der Occupancy auf "wurde geändert", schaltet das Licht nach 60s wieder ein (occupancy steht nach Bewegung 60s auf true)
                              b) da ich unterschiedliche Helligkeiten nach unterschiedlichen Zeiten erreichen will (BWM <> Taster), wird beim BMW beispielhaft dir Helligkeit angesteuert, beim Taster der Einfachheit halber aktuell nur der State direkt
                              c) Verbesserungspotential an dem gesamten Blockly ist willkommen, meine Javascript-Kenntnisse sind, könnt ihr euch denken, miserabel

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              442
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              blockly scenes
                              4
                              15
                              1544
                              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