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] [Frage] Rolladensteuerung mit Sonnenverlauf und Sonnensensor

    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] [Frage] Rolladensteuerung mit Sonnenverlauf und Sonnensensor

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

      Hallo zusammen,
      meines erstes größeres blockly ist fertig. ☺
      Gesteuert werden sollen Rolladen, die in einem Erker in verschiedene Himmelsrichtungen zeigen. Als Sonnensensor benutze ich den Marmeladenglas HM-Temperatursensor von stall.biz
      Damit detektiere ich die "Sonnenstärke". Ab 18°C am Differenztermometer scheint die Sonne relativ stark.
      Die Rolladen sollen nur herunterfahren, wenn die sonne drauf scheint und in einen "Halbschatten" Modus fahren, wenn die Sonne vorbeigezogen ist.
      Zudem soll die Aussentemperatur auch eine Rolle spielen, wenn es ein diesiger, aber sehr warmer Tag ist.
      Ausserdem soll die Rolladenautomatik (per vis) auch abgechaltet werden können.
      Bei den Terrassenrollos sollen diese nicht herunterfahren, wenn jemand draussen ist, also die Tür geöffnet ist.

      Meine Lösung sieht nun so aus.
      Vielleicht können die blockly Profis mal einen Blick drauf werfen und schauen, ob das so läuft. Testen könnte ich es ja erst, wenn es Sommer ist. Aber da muß es laufen, sonst sinkt der WAF gen 0.
      Für jedes Fenster im Erker habe ich dann ein eigenes Skript mit angepaßten Azimut Werten.
      Rolladen Vorlage.JPG

      Das Blockly für den Schattenmodus sieht wie folgt aus:
      Edit: weiter unten habe ich ein alternatives blockly und die Frage, welches geeignter ist.

      RolloSchattenModus.JPG

      ```
      <xml xmlns="http://www.w3.org/1999/xhtml">
      <block type="on_ext" id="097d5m}CdRhtHmL^iw|W" x="86" y="55">
      <mutation items="2"></mutation>
      <field name="CONDITION">ne</field>
      <field name="ACK_CONDITION"></field>
      <value name="OID0">
      <shadow type="field_oid" id="9z:-r~}EayOy]L[|RP3.">
      <field name="oid">hm-rpc.0.LEQ1251872.1.STATE</field>
      </shadow>
      </value>
      <value name="OID1">
      <shadow type="field_oid" id="lh|y4CTBr(#@7J,2(Vf:">
      <field name="oid">javascript.0.Sonnenstand.Azimut</field>
      </shadow>
      </value>
      <statement name="STATEMENT">
      <block type="comment" id="zEks^SX~c0NJG?84.VJI">
      <field name="COMMENT">Sonne scheint direkt auf Fenster</field>
      <comment pinned="true" h="80" w="160">Automatik AN
      Schattenmodus Wahr
      Tür NICHT AUF
      Winkel erfüllt
      </comment>
      <next>
      <block type="controls_if" id="9[K#H].4-{M.mv*ktWd"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_operation" id="%3taS[CN{8fGFr%xXdta" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=":t(W~p/=g^k6V7Q)Io.6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="#x={!mTjzt@@N|d.%,Q/"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Rollo_Variablen.RolloAutomatik</field> </block> </value> <value name="B"> <block type="logic_boolean" id="GD?3nt(d-aNC~P/ZbHjm"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="uiO_7U?RFw@HI,Cdo5kN" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="/cZ81?#Crb+1oFLqH}A2"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="NdW=S2(7A^~_23.|M}x|"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Rollo_Variablen.RolloSchattenmodus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="5-v.XF;K7E2,~Vw|y5q">
      <field name="BOOL">TRUE</field>
      </block>
      </value>
      </block>
      </value>
      <value name="B">
      <block type="logic_operation" id="r[z;uiy_8t!F.tV.-VO*" inline="false">
      <field name="OP">AND</field>
      <value name="A">
      <block type="logic_compare" id="i/=JF*?7f7|Gm{IBAvl+">
      <field name="OP">NEQ</field>
      <value name="A">
      <block type="get_value" id="ox=O(E_)bS?0{fUT~!kL">
      <field name="ATTR">val</field>
      <field name="OID">hm-rpc.0.LEQ1252259.1.STATE</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="k!:x9G^D6XUGE9_20r%"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="Y6E#5y,Y%t|RoF6nI6sF" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="wbgX4ye8ti2Hz(+Q=n*-"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="2h%m2ySv(?#bmuGCGJi;"> <field name="ATTR">val</field> <field name="OID">javascript.0.Sonnenstand.Azimut</field> </block> </value> <value name="B"> <block type="math_number" id=".6m+o?a(AL~Wp0wXc/,;"> <field name="NUM">80</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="GlvokR+5DLRLien,|jG">
      <field name="OP">LTE</field>
      <value name="A">
      <block type="get_value" id="dBxRC9fRnnETdzXRHy.M">
      <field name="ATTR">val</field>
      <field name="OID">javascript.0.Sonnenstand.Azimut</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="*Pb4I1ZY3rg-_b@cNFW"> <field name="NUM">200</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="8eeHb@jDiy^Tsex@(d:@"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.LEQ1436562.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="xWm#Hc-_.Vffucv_1xvk"> <field name="NUM">35</field> </block> </value> <next> <block type="comment" id="A5s8cP3M{cNNr=u3|9bA"> <field name="COMMENT">Sonne scheint nicht mehr direkt auf Fenster</field> <comment pinned="true" h="80" w="160">Automatik AN Schattenmodus Wahr Tür NICHT AUF Winkel überschritten </comment> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="!6@?/}7c+o94dg)_,:Iw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="AZ-V.k258fAUks;U)@E("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="vWmD7D5-_Df2S-d%%~[M"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Rollo_Variablen.RolloAutomatik</field> </block> </value> <value name="B"> <block type="logic_boolean" id="0lE_]C,B?g{s2C1RCudM"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="Hw^zq(^~~/V^9FFj(dSs" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="SC.RSQ0dMyMt,dU_z(RK"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="pI@G-lVSEkqh;hePA}^["> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Rollo_Variablen.RolloSchattenmodus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Q^nW-^+H64bhawB:fDJ="> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="X7+tUcx)MD1R-LA{Mh,N" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="0p[i/4f=R]FrPy9LP7Vz"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="-hgicO;=tU:muaXfOtX">
      <field name="ATTR">val</field>
      <field name="OID">hm-rpc.0.LEQ1252259.1.STATE</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="z;71=I{kw+ahs(vlk[;/">
      <field name="NUM">2</field>
      </block>
      </value>
      </block>
      </value>
      <value name="B">
      <block type="logic_operation" id="68c2Wn,8KP(7:G+Yh~z%" inline="false">
      <field name="OP">AND</field>
      <value name="A">
      <block type="logic_compare" id="7=OR+O_azw-K)QN~5T1a">
      <field name="OP">GTE</field>
      <value name="A">
      <block type="get_value" id="hi(m*qc#Rth^xGxA?Pgb">
      <field name="ATTR">val</field>
      <field name="OID">javascript.0.Sonnenstand.Azimut</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="2Zqz.p#~i}(LoCSFdAU|">
      <field name="NUM">200</field>
      </block>
      </value>
      </block>
      </value>
      <value name="B">
      <block type="logic_compare" id="p+ecdl-f/cm5ozdgdM~v">
      <field name="OP">LTE</field>
      <value name="A">
      <block type="get_value" id="R;(xoIM,Sg#6VSXs7yyz">
      <field name="ATTR">val</field>
      <field name="OID">javascript.0.Sonnenstand.Azimut</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="ZW!o?tk=wl+YpNWUg_"> <field name="NUM">240</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="T=]oovR{|t@sdh_-LKcf"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.LEQ1436562.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="-{fksob!.KJfOUN_KVvY"> <field name="NUM">80</field> </block> </value> <next> <block type="comment" id="v]|hriup#J~V6uv;hCP">
      <field name="COMMENT">Rollo AUF</field>
      <comment pinned="true" h="80" w="160">Automatik AUS
      Schattenmodus Unwahr
      Tür AUF
      Winkel absolut überschritten
      </comment>
      </block>
      </next>
      </block>
      </statement>
      <value name="IF2">
      <block type="logic_operation" id="{hLG|aYJ.p||9qI+is(=" inline="false">
      <field name="OP">OR</field>
      <value name="A">
      <block type="logic_compare" id="C-9:,|^r=+xgr^^Hdp-#">
      <field name="OP">EQ</field>
      <value name="A">
      <block type="get_value" id="u#eR!_!#OSy[E.[/O98"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Rollo_Variablen.RolloAutomatik</field> </block> </value> <value name="B"> <block type="logic_boolean" id="7Gvn5adO*.i-1dJ[M3T]"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="V5qKrBO@%95-n3W;Uv+_" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="(f4MelbKI][]oTyqN3Q,"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="WdXFRH!TgfzWn7(vvyG0"> <field name="ATTR">val</field> <field name="OID">eigene_Variablen.0.Rollo_Variablen.RolloSchattenmodus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="HIaAkip2ah_*l38Z3u6,"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="=!s[}%];fg0s8CEJJSFi" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="EBf]*rj#kz7ilu.!cM,">
      <field name="OP">EQ</field>
      <value name="A">
      <block type="get_value" id="qSPI]::K3(5paWmOT^.p">
      <field name="ATTR">val</field>
      <field name="OID">hm-rpc.0.LEQ1252259.1.STATE</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="ZP!^{!C7rI..4=mGJMsU">
      <field name="NUM">2</field>
      </block>
      </value>
      </block>
      </value>
      <value name="B">
      <block type="logic_compare" id="RUaQZs=fxO!K=7x+YsH">
      <field name="OP">GTE</field>
      <value name="A">
      <block type="get_value" id="3J.noqVX8_j/6
      XQ.:|K">
      <field name="ATTR">val</field>
      <field name="OID">javascript.0.Sonnenstand.Azimut</field>
      </block>
      </value>
      <value name="B">
      <block type="math_number" id="dkf5NqM=K
      4]-hiT70q5">
      <field name="NUM">240</field>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      </block>
      </value>
      <statement name="DO2">
      <block type="control" id="Yh;uKBxWUoRZ./iPDpwG">
      <mutation delay_input="false"></mutation>
      <field name="OID">hm-rpc.0.LEQ1436562.1.LEVEL</field>
      <field name="WITH_DELAY">FALSE</field>
      <value name="VALUE">
      <block type="math_number" id="mh0NJPC)PklEp##U_4w">
      <field name="NUM">95</field>
      </block>
      </value>
      </block>
      </statement>
      </block>
      </next>
      </block>
      </statement>
      </block>
      <block type="comment" id="r`E
      e~}M(8n7B,*nSOBD" x="87" y="112">
      <field name="COMMENT">Kommentar</field>
      </block>
      <block type="logic_compare" id="S(29~/2T3#v0P~s)G3Ao" x="525" y="375">
      <field name="OP">NEQ</field>
      <value name="B">
      <block type="math_number" id="A!7~{tIy[4y%pIIpm1G6">
      <field name="NUM">2</field>
      </block>
      </value>
      </block>
      </xml>

      Danke und Grüße Andreas
      L 1 Reply Last reply Reply Quote 0
      • L
        lesiflo Most Active @weimaraner last edited by

        @weimaraner

        wenn ich das richtig sehen gehen deine Rollläden erst nach 20 Minuten runter nachdem die Sonne scheint. Ist das so gewollt?
        Sinnvoller währe es doch sie sofort runtergehen zulassen und sie erst nach 20 Minuten ohne Sonne wieder rauf gehen zulassen.
        So habe ich es zumindest gemacht.

        1 Reply Last reply Reply Quote 0
        • W
          weimaraner last edited by

          Ja, das stimmt. Mit dieser Verzögerung will ich das hoch und runter bei schnellen Wolkenwechsel vermeiden.

          L 1 Reply Last reply Reply Quote 0
          • L
            lesiflo Most Active @weimaraner last edited by

            @weimaraner
            Das war mir schon klar mit dem rauf und runter, habe ich auch so gemacht. Aber meine Frage war ob sie nicht gleich runter gehen sollten und nicht erst nach 20 Minuten. Die Verzögerung hätte ich beim Hochfahren eingetragen.

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

              Ich mache die Verzögerung bei meinem Rolladenblockly nach Badewannen-Prinzip und habe dabei fürs runterfahren eine etwas kleine Verzögerung und fürs hochfahren eine etwas größe Verzögerung eingebaut.
              Das Badewannen Prinzip hat den Vorteil gegenüber deinem System, dass es keine Überschneidungen geben kann. Bei deinem Blockly sieht es mir nämlich so aus dass bei häufigen Werteänderungen das ganze doch öfter rauf und runterfahren kann, je nachdem wie häufig die Sensoren neue Werte liefern und wenn dann vorher schonmal eine 20-Minuten Schleife läuft, dann aber ein anderer Wert kommt, wird dann nicht die 20 Min. Schleife erst abgearbeitet?

              W 1 Reply Last reply Reply Quote 0
              • W
                weimaraner @smile last edited by

                @smile sagte in [blockly] Rolladensteuerung mit Sonnenverlauf und Sonnensensor:

                je nachdem wie häufig die Sensoren neue Werte liefern und wenn dann vorher schonmal eine 20-Minuten Schleife läuft, dann aber ein anderer Wert kommt, wird dann nicht die 20 Min. Schleife erst abgearbeitet?

                Hi smile. Das verstehe ich nicht so ganz. Der Sonnensensor, der eigentlich ein Temperaturfühler ist, liefert ca. minütlich einen Wert. Wie meinst das mit der schon laufenden 20 Minuten Schleife?
                Grüße Andreas

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

                  Nunja, wenn der Sonnensensor (Temperaturfühler) den Schwellwert überschreitet, dann wird der Schattenmodus in 20 Minuten gestartet. Wird nach z.B. 5 Minuten der Schwellert wieder unterschritten, und in den nächsten Minuten wieder überschritten, dann laufen mehrere 20-Minuten-Verzögerungen und der Schattenmodus wird laufend wahr / unwahr. Das kann also zu stetigem rauf und runterfahren führen.

                  Ich hab auch so angefangen mit einem Blockly so in der Art, habe aber die Erfahrung gemacht dass es mit Badewannen-Prinzip am besten läuft.

                  1 Reply Last reply Reply Quote 0
                  • W
                    weimaraner last edited by weimaraner

                    @smile sagte in [blockly] Rolladensteuerung mit Sonnenverlauf und Sonnensensor:

                    dann laufen mehrere 20-Minuten-Verzögerungen und der Schattenmodus wird laufend wahr / unwahr.

                    Eigentlich nicht, oder?
                    Tempwert einmal erreicht, läßt die 20 Minuten laufen. Tempwert unterschritten läßt den Modus auf unwahr.
                    Laufen die 20 Minuten an der Stelle weiter? Ich dachte eigentlich nicht.
                    Sollte jetzt der TempWert erneut überschritten werden, laufen die 20 Minuten neu. Aber dann doch nur diese 20 Minuten und nicht die von vorher auch noch.

                    1 Reply Last reply Reply Quote 0
                    • W
                      weimaraner last edited by

                      Oder ist es richtiger mit dem grünen timeout blockly zu arbeiten?

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

                        Mit dem grünen Blockly Timeout könntest du beim Wechsel zumindest eine "Stop Timeout" Funktion einfügen.

                        Ich lasse mich gerne überraschen wenn es dennoch so funktioniert wie du geplant hast. Meiner Erfahrung nach gibt das aber eher Probleme, und es ist zuverlässiger mit Intervallabfrage nach Badewannenprinzip zu arbeiten.

                        1 Reply Last reply Reply Quote 0
                        • W
                          weimaraner last edited by

                          So, jetzt nochmal die Randbedingungen:

                          Die "Sonnenstärke" wird mittels Marmeladenglas-TempSensor ermittelt und reagiert träge genug, um nicht bei jedem Wolkenwechsel gleich auszulösen. Dieses Verfahren nutze ich seit ca. 3 Jahren und bin sehr zufrieden. Allerdings mit einem Programm auf der CCU2. Jetzt möchte ich das Programm auf blockly umziehen. Meine Frage ist daher, ob das blockly als solches Sinn macht und die Logiken richtig angeordnet sind.

                          Fall1: es ist sehr warm, aber bedeckt -> das Rollo soll zur "Dämmung" runterfahren
                          Fall2: es ist warm und die Sonne scheint -> das Rollo zum Schatten spenden runterfahren
                          Fall3: die Sonne scheint nicht mehr -> das Rollo soll hochfahren

                          Die Frage ist nun:
                          Passen die Logiken oder gibt es eine "unlogische" Temperaturkonstellation?
                          Nutz man für die Verzögerung blockly1 mit dem verzögerten Einschalten oder blockly2 mit dem timeout?
                          Sind die blocklys richtig angewendet?

                          Grüße Andreas
                          A mit Verzögerung
                          blocklyA Verzögerung.JPG
                          B mit timeout
                          blocklyb timeout.JPG

                          1 Reply Last reply Reply Quote 0
                          • L
                            lesiflo Most Active last edited by lesiflo

                            Mal 'ne Frage unabhängig von deinem Script. Warum willst du das ganze auf den iobroker umziehen? Du hast dadurch nur eine zusätzliche Fehlerquelle. Sollte aus irgendeinem Grund die Kommunikation zwischen iobroker und deiner CCU mal gestört sein, bleiben die Rollläden oben oder unten. Außer du arbeitest mit Geräten die von der CCU nicht unterstützt werden. Ach ja und deine Rollläden fahren immer noch erst nach 20 Minuten runter und nicht gleich wenn die Sonne scheint.

                            W 1 Reply Last reply Reply Quote 0
                            • W
                              weimaraner @lesiflo last edited by weimaraner

                              @lesiflo
                              Die CCU2 soll perspektivisch nur noch eine Art backup sein. Alle Programme sollen auf iobroker laufen. Wenn dieser mal nicht laufen sollte, weil ausgefallen, dann schalte ich in der CCU die Rolladenporgramme (und andere) wieder auf aktiv und in relativ kurzer Zeit ist die Automatisation wieder am laufen (quasi im Notprogramm)
                              Die 20 Minuten Verzögerung sind ja auch gewollt. Die Frage ist, welcher Weg zur Verzögerung richtig ist.
                              Edit: jetzt gesehen... du hattest weiter oben schon geschrieben, daß du die Verzögerung eher beim hoch- statt beim runterfahren machen würdest. Da ist was dran, aber ich habe es jetzt in der CCU auch so und bin eigentlich zufrieden.

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                lesiflo Most Active @weimaraner last edited by lesiflo

                                @weimaraner

                                Ja genau, aber in deinem Blockly ist es anders herum. Du hast die Verzögerung beim Runterfahren eingebaut.

                                1 Reply Last reply Reply Quote 0
                                • W
                                  weimaraner last edited by

                                  okay, das ändere ich noch. Ansonsten A oder B?☺

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    lesiflo Most Active @weimaraner last edited by lesiflo

                                    @weimaraner

                                    Wenn du die Verzögerung noch in das Hochfahren einbaust sollten eigentlich beide Varianten funktionieren.
                                    Einfach mal ausprobieren. Wobei dann die Variante A wohl eher der Logik der CCU entspricht.
                                    Ich habe da einen etwas anderen Ansatz gewählt. Ich habe den Sonnensensor von Homematic. Bei
                                    mir geht die Variable für Beschattung sofort auf wahr oder falsch. Die Verzögerung habe ich in
                                    das Programm für das Schalten der Röllladen eingebaut. Hat den Vorteil das ich dadurch unabhängig der Uhrzeit und Sonnenstand verschiedene Rollläden zu unschiedlichen Zeiten schalten kann (Osten,Süden oder Westen). Morgens in der Küche, Vormittags und Nachmittags dann Süd oder Westfenster im Wohnzimmer.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    728
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly
                                    3
                                    16
                                    4435
                                    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