Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Gelöst: Blockly Oder-Verknüpfung

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Gelöst: Blockly Oder-Verknüpfung

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

      @cookiemonster1706

      c9cfc756-8cd8-454e-b3c6-8f3da5b57390-grafik.png

      C 1 Reply Last reply Reply Quote 0
      • C
        cookiemonster1706 @MartinP last edited by

        @martinp
        Danke für deine Rückmeldung.
        Das muss ich erstmal auf mich wirken lassen.

        Leider versteh ich da nicht sonderlich viel.

        haus-automatisierung Homoran 2 Replies Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @cookiemonster1706 last edited by haus-automatisierung

          @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

          Leider versteh ich da nicht sonderlich viel.

          Grundlagen anschauen. Erstmal löst jeder deiner Fensterkontakte die Logik im Trigger aus. Also egal welcher sich ändert. Das ist schonmal richtig.

          Wenn jetzt einer geöffnet oder geschlossen wird, dann wird die Logik angestoßen. In der Logik schaust Du dann, ob mindestens einer offen ist. Aber dafür musst Du ja wieder alle prüfen. Also alle an ein "oder" hängen.

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @cookiemonster1706 last edited by

            @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

            Das muss ich erstmal auf mich wirken lassen.
            Leider versteh ich da nicht sonderlich viel.

            ich aus dem Bild von @MartinP auch nicht!

            z.B. was die Gasheizung mit deinen Fenstern zu tun hat

            MartinP 1 Reply Last reply Reply Quote 1
            • Asgothian
              Asgothian Developer @cookiemonster1706 last edited by

              @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

              Wie kann ich sowas konfigurieren?
              Könnt ihr mit helfen.

              du musst erst einmal klären was als "wert" überhaupt ankommt. Ist das wirklich die Zahl 1, oder vielleicht die Zeichenkette "1"

              Dazu schaust Du dir am besten den Datenpunkt an:
              Screenshot 2024-11-22 at 11.48.37.png
              Die Anzeige bekommst du wenn du auf das Stift icon rechts in der Liste klickst. Interessant ist was bei "type" steht.

              Als nächstes ist interessant welche Zustände der Datenpunkt wirklich annehmen kann.

              Wenn du das gepostet hast können wir weiter schauen - daraus ergibt sich wie die Falls Abfrage aufgebaut werden muss, und ob sie überhaupt notwendig ist.

              A.

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

                @asgothian

                Das schaut bei mir so aus

                d3a252fd-8fb0-4334-abcb-c4f8dee0c911-image.png

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

                  @cookiemonster1706 Für beide Datenpunkte ? Und warum als Screenshot gepostet - das ist doch alles text ?

                  Seis drum - Wenn bei beiden so aussieht dann ist die einfachste Lösung das Umsetzen des Trigger von "wurde geändert" auf "ist grösser als vorher". Dann noch einen Debug-Baustein einbauen, der eine Meldung im Log hinterlässt wenn der Trigger aktiv wird, die Falls abfrage aus dem Trigger heraus nehmen und dann testen 🙂

                  A.
                  Nachtrag: warum die Falls abfrage heraus nehmen ? Wenn der Trigger nur aktiv wird wenn der aktuelle Wert grösser ist als der vorherige dann wird der nur aktiv wenn einer der beiden DP von geschlossen auf offen wechselt. Sprich dann ist mindestens einer der beiden DP "offen"

                  MartinP 1 Reply Last reply Reply Quote 2
                  • MartinP
                    MartinP @Homoran last edited by

                    z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                    @homoran Ist das eine neue Forumsregel, dass man in seinem Beispiel keine Datenpunkte nehmen darf, die man eh auf seinem System hat, sondern zuerst sehen muss, dass man eine Testumgebung mit dem kompletten Datenbaum des ioBroker des Fragestellers einrichten muss?

                    Asgothian Homoran 2 Replies Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @MartinP last edited by

                      @martinp sagte in Blockly Oder-Verknüpfung:

                      z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                      @homoran Ist das eine neue Forumsregel, dass man in seinem Beispiel keine Datenpunkte nehmen darf, die man eh auf seinem System hat, sondern zuerst sehen muss, dass man eine Testumgebung mit dem kompletten Datenbaum des ioBroker des Fragestellers einrichten muss?

                      Nein - aber etwas erklärender Text hilft denen die das nachvollziehen wollen. Ein Bild sagt zwar mehr als 1000 Worte - aber in dem ganzen Sumpf die relevanten 20 heraussuchen ist Arbeit.

                      Zu dem Bild selber könnte ich jetzt auch noch was schreiben - das spar ich mir aber - es würde den Thread kapern.

                      1 Reply Last reply Reply Quote 1
                      • MartinP
                        MartinP @Asgothian last edited by

                        @asgothian sagte in Blockly Oder-Verknüpfung:

                        @cookiemonster1706 Für beide Datenpunkte ? Und warum als Screenshot gepostet - das ist doch alles text ?
                        Seis drum - Wenn bei beiden so aussieht dann ist die einfachste Lösung das Umsetzen des Trigger von "wurde geändert" auf "ist grösser als vorher".

                        Diese Herangehensweise halte ich für heikel.... Dann wird der Alarm nie gelöscht, wenn er einmal gesetzt wurde

                        Bei jeder Änderung muss geprüft werden, ob noch ein Fenster offen ist, und der Alarm entsprechend gesetzt werden...

                        Man könnte natürlich mit zwei Triggern arbeiten. Der eine kümmert sich um das Einschalten des Alarms, der andere um das Ausschalten....

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

                          @cookiemonster1706 sagte: Oder-Verknüpfung einsetzen muss.

                          Richtig!
                          Wenn die Datenpunkte vom Typ "Logikwert" oder vom Typ "Zahl" (0/1) sind, genügt es so:

                          Blockly_temp.JPG

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

                            @martinp sagte in Blockly Oder-Verknüpfung:

                            Man könnte natürlich mit zwei Triggern arbeiten. Der eine kümmert sich um das Einschalten des Alarms, der andere um das Ausschalten....

                            genau das würde ich tun. Und dann auf eine Art und Weise bei der ich nicht im Trigger den Wert des DP noch einmal holen muss.

                            MartinP 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @MartinP last edited by

                              @martinp Aber dann bitte ein wenig Text zur Erklärung dazu!
                              Einfach einen Screenshot ohne erkennbaren Zusammenhang zu posten, hilft dem Fragenden herzlich wenig

                              1 Reply Last reply Reply Quote 1
                              • MartinP
                                MartinP @Asgothian last edited by MartinP

                                @asgothian

                                Mit Variablen könnte man den Zugriff auf den Objekt-Baum vermeiden:

                                ddd35d03-40b3-40a1-8a05-dcb2fe9edfa2-grafik.png

                                Eigentlich finde ich die Blocklys selbsterklärend

                                Der Trick bei den beiden Triggern ist, dass man beim Abschalten des Alarms vorher den anderen Zustand prüfen muss

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

                                  @martinp sagte in Blockly Oder-Verknüpfung:

                                  Mit Variablen könnte man den Zugriff auf den Objekt-Baum vermeiden:

                                  Eine schöne Lösung für 2 DP. Dann kommt der mit 3, 4, 5 oder auch 20 Fenstern und fragt sich ob es nicht was besseres gibt 🙂

                                  Aber wie oben geschrieben - das würde den Thread kapern und die Frage des OP nicht wirklich beantworten

                                  A.

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

                                    @asgothian sagte in Blockly Oder-Verknüpfung:

                                    das würde den Thread kapern und die Frage des OP nicht wirklich beantworten

                                    Nunja, wenn die Hinweise zu einem leichter erweiterbaren Blockly führen, wäre dem Threadersteller vielleicht noch besser geholfen. Aber die Strukturen werden dadurch natürlich unübersichtlicher, Keep ist simple and stupid 😉

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

                                      @martinp

                                      Hinterm Spoiler mein Universeller Ansatz für n zu prüfende Elemente.

                                      Was je nach Anwendung angepasst werden muss ist die Liste der zu prüfenden Elemente (gerne auch per Selektor), die Bedingung beim Einlesen der Ist-Werte am Anfang. sowie die Bedingung für das "Alarm Setzen" und "löschen". So wie es ist würde es für den OP gehen, und den Alarm setzen wenn mindestens 1 Sensor offen meldet, und löschen wenn keiner mehr offen ist.

                                      Das ganze lohnt aber erst ab 3-5 Sensoren, vorher sind andere Methoden effektiver.

                                      A.


                                      Screenshot 2024-11-22 at 14.16.23.png

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                        <variables>
                                          <variable id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</variable>
                                          <variable id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</variable>
                                          <variable id="amoGLBTN2N+h(t9?$1a^">TargetObject</variable>
                                          <variable id="7(F.{kV~9TmDm7$:bcGE">Index</variable>
                                        </variables>
                                        <block type="variables_set" id="geabdFGp+}T2TWVPH4UE" x="37" y="138">
                                          <field name="VAR" id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</field>
                                          <value name="VALUE">
                                            <block type="lists_create_with" id="7oc/!KR!}TWk@PnPmc#l">
                                              <mutation items="3"></mutation>
                                              <value name="ADD0">
                                                <block type="field_oid" id="C9Y.RW^k@fn!8B6{QZ8~">
                                                  <field name="oid">zigbee.0.00158d00025ee1b2.opened</field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="field_oid" id="ntd:._~)BN^v5q:7*jv8">
                                                  <field name="oid">zigbee.0.00158d00031305b7.opened</field>
                                                </block>
                                              </value>
                                              <value name="ADD2">
                                                <block type="field_oid" id="JqA*V)gb5T)(7Lra3,ED">
                                                  <field name="oid">zigbee.0.00158d0001dcfc5e.opened</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="SovLZ{^e*9-j1Y/76,B]">
                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                              <value name="VALUE">
                                                <block type="lists_create_with" id="P@_aH9^P!sT^rvYjcqLQ">
                                                  <mutation items="0"></mutation>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="controls_forEach" id="Vou`^xt}+/cSs2`lWRp=">
                                                  <field name="VAR" id="amoGLBTN2N+h(t9?$1a^">TargetObject</field>
                                                  <value name="LIST">
                                                    <block type="variables_get" id="JKbQacAF:SE@CGtE+Gq(">
                                                      <field name="VAR" id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</field>
                                                    </block>
                                                  </value>
                                                  <statement name="DO">
                                                    <block type="controls_if" id="C!Tkr[Hh4EH!t2Sr_fh]">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="@Wv8ocx5xriOXaqZpvN[">
                                                          <field name="OP">GT</field>
                                                          <value name="A">
                                                            <block type="get_value" id="9$l?Ut^SJMt}1+`#|Qxk">
                                                              <field name="ATTR">val</field>
                                                              <field name="OID">ID auswählen</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="math_number" id="d0IxSPdDwtNeWY?-S+En">
                                                              <field name="NUM">0</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="lists_setIndex" id="ei2ri:vw31GJiJBTqH};">
                                                          <mutation at="false"></mutation>
                                                          <field name="MODE">INSERT</field>
                                                          <field name="WHERE">LAST</field>
                                                          <value name="LIST">
                                                            <block type="variables_get" id="3#Hzvq8V(;weFbmbNOTM">
                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                            </block>
                                                          </value>
                                                          <value name="TO">
                                                            <block type="variables_get" id="hj_M`+v7|n}BNzFA:0^X">
                                                              <field name="VAR" id="amoGLBTN2N+h(t9?$1a^">TargetObject</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="on_ext" id="4WzNM7Og_wOS2/Uul1hz">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                      <field name="CONDITION">ne</field>
                                                      <field name="ACK_CONDITION"></field>
                                                      <value name="OID0">
                                                        <shadow type="field_oid" id="}mU7xnk},xxWzi%A$!w[">
                                                          <field name="oid">ID auswählen</field>
                                                        </shadow>
                                                        <block type="variables_get" id="5SH[{Bq@/LCw7PI#Da4`">
                                                          <field name="VAR" id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</field>
                                                        </block>
                                                      </value>
                                                      <statement name="STATEMENT">
                                                        <block type="variables_set" id="d5Ll8Nh4_VJ/nj[GwdV,">
                                                          <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                          <value name="VALUE">
                                                            <block type="lists_indexOf" id="6rQ)ZurAxPYNS9Pbl+qF">
                                                              <field name="END">FIRST</field>
                                                              <value name="VALUE">
                                                                <block type="variables_get" id="aY0%)OT?|T~xGQe48FiW">
                                                                  <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                </block>
                                                              </value>
                                                              <value name="FIND">
                                                                <block type="on_source" id="Z*Lh~V)CvJ*GXcwF9R#o">
                                                                  <field name="ATTR">id</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="controls_if" id="|!vroN*CLlQO|%72fq?0">
                                                              <mutation else="1"></mutation>
                                                              <value name="IF0">
                                                                <block type="logic_compare" id="~(R$rBc!kEP]-5(b(U8i">
                                                                  <field name="OP">GT</field>
                                                                  <value name="A">
                                                                    <block type="on_source" id="V()q|sb_mlu^7{9ku8)j">
                                                                      <field name="ATTR">state.val</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <block type="on_source" id="dk)hp$d:W9IDdo._c!L-">
                                                                      <field name="ATTR">oldState.val</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <statement name="DO0">
                                                                <block type="comment" id="Jj@6dS4(2Yw($NqQz?ek">
                                                                  <field name="COMMENT">IsOpen</field>
                                                                  <next>
                                                                    <block type="controls_if" id="{INLF:]]PZsm;-ronR/-">
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="|~|Ra6F#B7U#Tsxo/W[s">
                                                                          <field name="OP">LTE</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="w.v7~{J~DDhecDt8``;$">
                                                                              <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="math_number" id="=r%/qvZA~jyhvmGd`X4R">
                                                                              <field name="NUM">0</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="lists_setIndex" id="B.s}5w8o[rJSD?1q4;Fg">
                                                                          <mutation at="false"></mutation>
                                                                          <field name="MODE">INSERT</field>
                                                                          <field name="WHERE">LAST</field>
                                                                          <value name="LIST">
                                                                            <block type="variables_get" id="E{D@,b8#aH.649o)FZ{U">
                                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="TO">
                                                                            <block type="on_source" id="vHgXA)u;ME5.XYqPWQo^">
                                                                              <field name="ATTR">id</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <statement name="ELSE">
                                                                <block type="comment" id="XMV+!?[QG~aBV/,0[1,1">
                                                                  <field name="COMMENT">IsClosed</field>
                                                                  <next>
                                                                    <block type="controls_if" id="su,@jVGp9ZAwJYU[s@TA">
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="[]b6(9sL@BJvF}A%`lqz">
                                                                          <field name="OP">GTE</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="S,na9Z=(zF6wRGqnAB9A">
                                                                              <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="math_number" id="ttHu,;s*aZPGASplEtK+">
                                                                              <field name="NUM">0</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="lists_getIndex" id="faFVPoYx@i+Zgq^jNT_8">
                                                                          <mutation statement="true" at="true"></mutation>
                                                                          <field name="MODE">REMOVE</field>
                                                                          <field name="WHERE">FROM_START</field>
                                                                          <value name="VALUE">
                                                                            <block type="variables_get" id="?Wa_(g*jPE*htOSiIH[r">
                                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="AT">
                                                                            <block type="variables_get" id="FWU#eirV-_h~=v.m^z@d">
                                                                              <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <next>
                                                                <block type="controls_if" id="geL~N#TBp,dL:YNu?w|:">
                                                                  <mutation else="1"></mutation>
                                                                  <value name="IF0">
                                                                    <block type="logic_compare" id="(G4Valke_]i8=p0)++jx">
                                                                      <field name="OP">GT</field>
                                                                      <value name="A">
                                                                        <block type="lists_length" id="j%aG3yIdA2MzS*~XS8N1">
                                                                          <value name="VALUE">
                                                                            <block type="variables_get" id="JpYUIU;Dxr*[gqnxNMW:">
                                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <block type="math_number" id="IlmJN5dz|39])5$gaR40">
                                                                          <field name="NUM">0</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO0">
                                                                    <block type="comment" id="@UVj5+cknE;47(V^U[SH">
                                                                      <field name="COMMENT">Alarm Setzen</field>
                                                                    </block>
                                                                  </statement>
                                                                  <statement name="ELSE">
                                                                    <block type="comment" id="d9f=J:wqYy|(Ukl-d]._">
                                                                      <field name="COMMENT">Alarm löschen</field>
                                                                    </block>
                                                                  </statement>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </xml>
                                      

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        cookiemonster1706 last edited by

                                        Vielen Dank für eure Unterstützung. Es funktioniert.
                                        Ich werde es mir nochmal im Detail anschauen, um es zu opitmieren.

                                        MartinP 1 Reply Last reply Reply Quote 0
                                        • MartinP
                                          MartinP @cookiemonster1706 last edited by

                                          @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

                                          Vielen Dank für eure Unterstützung. Es funktioniert.

                                          Dann ändere bitte noch den Threadtitel, indem du "Gelöst:" davorsetzt

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

                                            @asgothian sagte in Blockly Oder-Verknüpfung:

                                            Hinterm Spoiler mein Universeller Ansatz für n zu prüfende Elemente.

                                            Eine Frage zur Effizienz der Implementierung: Die Liste der gesetzten Datenpunkte ändert ja dynamisch ihre Größe - was für Penalties gibt es durch die dadurch verursachte Speicherverwaltung...

                                            Wäre ggfs eine statische Liste, in der man die Zustände ablegt und nachher auf true abfragt effizienter?
                                            Wenn man sich darauf verlassen könnte, dass immer abwechselnd von jedem Datenpunkt True oder False kommt, könnte man ggfs. auch einen einfachen Zähler nutzen...

                                            Hereinkommende "Trues" inkrementieren, Hereinkommende "False" dekrementieren...

                                            2fd1ed46-3f6e-4a78-9e0c-c570367dd2a1-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            891
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            6
                                            23
                                            719
                                            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