Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blocky Hilfe bitte

    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

    Blocky Hilfe bitte

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

      Moinsens,

      hier mal ein Bild, wie das aussehen könnte.
      3374_blockly.png
      Die Objekt-IDs müßtest Du dann noch anpassen.

      Zu beachten ist auch, daß wenn sich der Wert unterhalb von 35 verringert

      (etwa von 30 auf 29), daß dann auch die Lampe angeschaltet wird.

      Daher müßte man vorher evtl. noch den alten Wert abfragen, ob der über 35 war.

      Dafür kann ich auf die Schneller aber nur ein Skript liefern:

      on({id: "ID des Sensors", change: "lt"}, function (obj) {
          if (obj.state.val < 35 && obj.oldState.val >= 35) {
              // anschalten
              setState("ID der Steckdose", true);
          }
      });
      
      

      Damit sich die Steckdose nach Überschreiten der 35 wieder ausschaltet,

      müßte auch noch was gemacht werden, wie in nachfolge Skript beschrieben.

      on({id: "ID des Sensors", change: "ne"}, function (obj) {
          if (obj.state.val < 35 && obj.oldState.val >= 35) {
              // anschalten
              setState("ID der Steckdose", true);
          } else if (obj.state.val > 35 && obj.oldState.val < 35) {
              // ausschalten
              setState("ID der Steckdose", false);
          }
      });
      
      

      Hier würde bei jeder Änderung getriggert.

      Wenn Sensoir unter 35 fällt, dann anschalten,

      wenn er steigt und über 35 ist, dann aus.

      Kann dann aber dazu führen, daß die Steckdose regelmäßig an/aus

      geht, wenn der Wert um die 35 schwankt.

      Daher die zweite Abfrage auf einen etwas höheren Wert setzen (z.B. 38).

      Dann schaltet die Steckdose an, wenn sie unter 35 fällt und

      wird erst ausgeschaltet, wenn sie wieder einmal über 38 war.

      Für die Werte zwischen 35 und 38 bleibt die Steckdose an oder aus,

      je nachdem ob der Wert fallend oder steigend ist.

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

        Das klingt großartig!

        Danke, werde ich schnellstens testen.

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

          Wahrscheinlich super einfach….aber wie füge ich ein Script in Blockly ein?

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

            @Robbsy:

            Luftfeuchtigkeit kleiner/gleich 35% ausgibt dann soll sich mein Luftbefeuchter, über Osram Wifi Stecker (über Hue kontrolliert) einschalten. Größer/gleich 45%: ausschalten. `
            @Robbsy:

            aber wie füge ich ein Script in Blockly ein? `
            Es geht auch in Blockly.
            493_blockly_befeuchter.jpg
            Hier der Export, in den noch die richtigen IDs eingefügt werden müssen.

            ! ````
            <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="xY1ZWm,+2EJohhee~qTo" x="-587" y="-337"><field name="COMMENT">ID Luftfeuchte</field>
            <next><block type="on" id="R.tnni:[OVG-`,!SO?^-"><field name="OID">Object ID</field>
            <field name="CONDITION">ne</field>

                <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation>
                    <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field>
                        <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field>
                            <value name="A"><block type="variables_get" id="m/=bZA+/.5^(XwoacL:P"><field name="VAR">value</field></block></value> 
                            <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">35</field></block></value></block></value> 
                        <value name="B"><block type="logic_compare" id="Vmz#QOLpDvFzP6y4t-?^"><field name="OP">GT</field>
                            <value name="A"><block type="variables_get" id="`odN@@jN0UiUA.(oyLP|"><field name="VAR">oldValue</field></block></value> 
                            <value name="B"><block type="math_number" id="zS!,z,`CaQE^1Bxbm4t6"><field name="NUM">35</field></block></value></block></value></block></value> 
                    <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation>
                        <field name="OID">Object ID</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> 
                    <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field>
                        <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;`("><field name="OP">GTE</field>
                            <value name="A"><block type="variables_get" id="Vq4sHfUSzn9Jxo/m@:Fj"><field name="VAR">value</field></block></value> 
                            <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">45</field></block></value></block></value> 
                        <value name="B"><block type="logic_compare" id="]u,f02:zDVVaHL6h%a:v"><field name="OP">LT</field>
                            <value name="A"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">oldValue</field></block></value> 
                            <value name="B"><block type="math_number" id="5:{5pwD4+DYA4Hp_{%LQ"><field name="NUM">45</field></block></value></block></value></block></value> 
                    <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                        <field name="OID">Object ID</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></next></block> 
            

            <block type="comment" id="zZloThnMeSu;p5jOW#Ec" x="-437" y="-37"><field name="COMMENT">ID Befeuchter</field></block></xml>

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

              @paul53:

              Blockly Befeuchter.JPG

              Hier der Export, in den noch die richtigen IDs eingefügt werden müssen.

              ! ````
              <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="xY1ZWm,+2EJohhee~qTo" x="-587" y="-337"><field name="COMMENT">ID Luftfeuchte</field>
              <next><block type="on" id="R.tnni:[OVG-`,!SO?^-"><field name="OID">Object ID</field>
              <field name="CONDITION">ne</field>

                  <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation>
                      <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field>
                          <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field>
                              <value name="A"><block type="variables_get" id="m/=bZA+/.5^(XwoacL:P"><field name="VAR">value</field></block></value> 
                              <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">35</field></block></value></block></value> 
                          <value name="B"><block type="logic_compare" id="Vmz#QOLpDvFzP6y4t-?^"><field name="OP">GT</field>
                              <value name="A"><block type="variables_get" id="`odN@@jN0UiUA.(oyLP|"><field name="VAR">oldValue</field></block></value> 
                              <value name="B"><block type="math_number" id="zS!,z,`CaQE^1Bxbm4t6"><field name="NUM">35</field></block></value></block></value></block></value> 
                      <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation>
                          <field name="OID">Object ID</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> 
                      <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field>
                          <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;`("><field name="OP">GTE</field>
                              <value name="A"><block type="variables_get" id="Vq4sHfUSzn9Jxo/m@:Fj"><field name="VAR">value</field></block></value> 
                              <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">45</field></block></value></block></value> 
                          <value name="B"><block type="logic_compare" id="]u,f02:zDVVaHL6h%a:v"><field name="OP">LT</field>
                              <value name="A"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">oldValue</field></block></value> 
                              <value name="B"><block type="math_number" id="5:{5pwD4+DYA4Hp_{%LQ"><field name="NUM">45</field></block></value></block></value></block></value> 
                      <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                          <field name="OID">Object ID</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></next></block> 
              

              <block type="comment" id="zZloThnMeSu;p5jOW#Ec" x="-437" y="-37"><field name="COMMENT">ID Befeuchter</field></block></xml>
              ```` `
              wieder einmal einen kreativen Lösungsansatz kennengelernt mit der Verwendung von "oldValue" 8-)

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

                Aufgrund der eingebauten Hysterese ist folgende Lösung noch zuverlässiger (sendet nur, wenn wirklich erforderlich).
                493_blockly_befeuchter_ack.jpg

                ! ````
                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="zX3-_1w%Tfw1ll=E5Ypl" x="-550" y="-337"><field name="VAR">befeuchter</field>
                <value name="VALUE"><block type="get_value" id=";In!?f]hJ^R{yXkNxhzE"><field name="ATTR">val</field>
                <field name="OID">ID auswählen</field></block></value>
                <next><block type="comment" id="xY1ZWm,+2EJohhee~qTo"><field name="COMMENT">ID Luftfeuchte</field>
                <next><block type="on" id="R.tnni:[OVG-`,!SO?^-"><field name="OID">Object ID</field>
                <field name="CONDITION">ne</field>

                        <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation>
                            <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field>
                                <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field>
                                    <value name="A"><block type="on_source" id="V:I%HObLeriqNo_#HwdQ"><field name="ATTR">state.val</field></block></value> 
                                    <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">35</field></block></value></block></value> 
                                <value name="B"><block type="logic_negate" id="Kv2D6OmoX:DGJ%XGr+`x"><value name="BOOL"><block type="variables_get" id="`odN@@jN0UiUA.(oyLP|"><field name="VAR">befeuchter</field></block></value></block></value></block></value> 
                            <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation>
                                <field name="OID">Object ID</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> 
                            <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field>
                                <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;`("><field name="OP">GTE</field>
                                    <value name="A"><block type="on_source" id="8oWSo(Z:mX)ILa{fb[8#"><field name="ATTR">state.val</field></block></value> 
                                    <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">45</field></block></value></block></value> 
                                <value name="B"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">befeuchter</field></block></value></block></value> 
                            <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                                <field name="OID">Object ID</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> 
                        <next><block type="comment" id="zZloThnMeSu;p5jOW#Ec"><field name="COMMENT">ID Befeuchter</field>
                            <next><block type="on" id="%tNgK/*+A0~k}iB1,cc,"><field name="OID">Object ID</field>
                                <field name="CONDITION">any</field>
                                <field name="ACK_CONDITION">true</field>
                                <statement name="STATEMENT"><block type="variables_set" id="*Xy/Lu9J#cbgrq(j{5PE"><field name="VAR">befeuchter</field>
                                    <value name="VALUE"><block type="on_source" id="F+u#OXL|y@+WdoIZa5Rf"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></xml> 
                
                1 Reply Last reply Reply Quote 0
                • rantanplan
                  rantanplan last edited by

                  @paul53:

                  Aufgrund der eingebauten Hysterese ist folgende Lösung noch zuverlässiger (sendet nur, wenn wirklich erforderlich). `
                  @paul53 Echt genial.

                  @Robbsy Du hast doch jetzt sicherlich verstanden wie es geht.

                  Grüße

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

                    Super!

                    Jetzt fängt @Paul53 auch noch an, bei Blockly hochoptimierten Code zu schreiben. 😮

                    Wahnsinn, was da alles sogar mit Blockly geht!

                    Gruß Rainer

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

                      @Homoran:

                      Wahnsinn, was da alles sogar mit Blockly geht! `
                      Ja, aber es gibt schon einige Einschränkungen in Blockly.
                      @Homoran:

                      bei Blockly hochoptimierten Code zu schreiben. `
                      Die Begeisterung teilen nicht alle, denn einige Nutzer sind der Meinung, dass es in Blockly http://forum.iobroker.net/viewtopic.php?f=21&t=10807&start=40#p118668 geht.

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

                        Liebe Leute,

                        ein wenig peinlich ist es mir zwar nicht selbst auf die Lösung zu kommen, aber der Luftbefeuchter springt einfach nicht an :shock:

                        ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                        ! <block type="variables_set" id="zX3-_1w%Tfw1ll=E5Ypl" x="-550" y="-337"><field name="VAR">befeuchter</field>
                        ! <value name="VALUE"><block type="get_value" id=";In!?f]hJ^R{yXkNxhzE"><field name="ATTR">val</field>
                        ! <field name="OID">netatmo.0.Robert.Indoor.Humidity.Humidity</field></block></value>
                        ! <next><block type="comment" id="xY1ZWm,+2EJohhee~qTo"><field name="COMMENT">ID Luftfeuchte</field>
                        ! <next><block type="on" id="R.tnni:[OVG-,!SO?^-"><field name="OID">netatmo.0.Robert.Indoor.Humidity.Humidity</field> ! <field name="CONDITION">ne</field> ! <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field> ! <value name="A"><block type="on_source" id="V:I%HObLeriqNo_#HwdQ"><field name="ATTR">state.val</field></block></value> ! <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">39</field></block></value></block></value> ! <value name="B"><block type="logic_negate" id="Kv2D6OmoX:DGJ%XGr+x"><value name="BOOL"><block type="variables_get" id="odN@@jN0UiUA.(oyLP|"><field name="VAR">befeuchter</field></block></value></block></value></block></value> ! <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation> ! <field name="OID">hue.0.Philips_hue.On/Off_Osram.on</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> ! <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;("><field name="OP">GTE</field>
                        ! <value name="A"><block type="on_source" id="8oWSo(Z:mX)ILa{fb[8#"><field name="ATTR">state.val</field></block></value>
                        ! <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">43</field></block></value></block></value>
                        ! <value name="B"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">befeuchter</field></block></value></block></value>
                        ! <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                        ! <field name="OID">hue.0.Philips_hue.On/Off_Osram.on</field>
                        ! <field name="WITH_DELAY">FALSE</field>
                        ! <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>
                        ! <next><block type="comment" id="zZloThnMeSu;p5jOW#Ec"><field name="COMMENT">ID Befeuchter</field>
                        ! <next><block type="on" id="%tNgK/*+A0~k}iB1,cc,"><field name="OID">hue.0.Philips_hue.On/Off_Osram.on</field>
                        ! <field name="CONDITION">any</field>
                        ! <field name="ACK_CONDITION">true</field>
                        ! <statement name="STATEMENT"><block type="variables_set" id="*Xy/Lu9J#cbgrq(j{5PE"><field name="VAR">befeuchter</field>
                        ! <value name="VALUE"><block type="on_source" id="F+u#OXL|y@+WdoIZa5Rf"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></xml>

                        Wenn es hilft: Mit einem IFTTT Trigger rennt es. Nur möchte ich IFTTT nicht verwenden, ist mir irgendwie niht sympatisch.
                        5652_luftbefeuchter.jpg

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

                          Ganz oben muss die Objekt ID Philips_hue.On/Off_Osram.on rein.

                          1 Reply Last reply Reply Quote 0
                          • M
                            Marko79 last edited by

                            Hallo zusammen,

                            auch ich brauch mal eure Hilfe bezgl Blocky

                            Ich versuche mittels RFID-Chip eine Lampe zu schalten.

                            Per Sprache über IOBroker geht es.

                            Das schalten mittels einer RFID für AN und einer anderen für AUS geht auch.

                            Ich will aber keine 2 RFID-Chips dafür verwenden sondern der Zeitstempel mit einbinden.

                            Das klappt aber gar nicht.

                            Hier mal mein Script:

                            on({id: 'mqtt.0.domoticz.in', change: "any"}, function (obj) {

                            var value = obj.state.val;

                            var oldValue = obj.oldState.val;

                            if (getState("mqtt.0.domoticz.in").ts != getState("mqtt.0.domoticz.in").ts) {

                            if (getState("mqtt.0.domoticz.in").val == ('mqtt.0.domoticz.in' == '{"idx":1,"nvalue":0,"svalue":"909222828"}' && getState("broadlink.0.learnedSignals.TV_Licht").val == false)) {

                            setStateDelayed("broadlink.0.learnedSignals.TV_Licht"/TV Licht_/, true, 1000, false);

                            } else if (getState("mqtt.0.domoticz.in").val == ('mqtt.0.domoticz.in' == '{"idx":1,"nvalue":0,"svalue":"909222828"}' && getState("broadlink.0.learnedSignals.TV_Licht").val == true)) {

                            setStateDelayed("broadlink.0.learnedSignals.TV_Licht"/TV Licht_/, false, 1000, false);

                            }

                            }

                            });

                            Habt Ihr ne Idee??? Irgendwas mach ich wohl falsch.

                            Danke

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

                              @Marko79:

                              Hier mal mein Script: `

                              Hallo Marko79

                              Was sollen die Leute, die mit Blockly arbeiten, mit dem Script anfangen? :roll:

                              Ein Screenshot von dem Blockly wäre da bestimmt hilfreicher. 😉

                              Grüße

                              1 Reply Last reply Reply Quote 0
                              • M
                                Marko79 last edited by

                                Sorry, das hab ich nicht bedacht.

                                Hier nun also ein Screenshot.
                                5810_screenshot_20180224-143242.png

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

                                  @Marko79:

                                  if (getState("mqtt.0.domoticz.in").ts != getState("mqtt.0.domoticz.in").ts) { `
                                  Dieser Ausdruck liefert immer false, die folgenden Befehle werden also nie ausgeführt.
                                  @Marko79:

                                  if (getState("mqtt.0.domoticz.in").val == ('mqtt.0.domoticz.in' == '{"idx":1,"nvalue":0,"svalue":"909222828"}' && getState("broadlink.0.learnedSignals.TV_Licht").val == false)) { `
                                  Was soll hier geprüft werden ?

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Marko79 last edited by

                                    Ich wollte prüfen ob der Zeitstempel der gleiche ist und wenn ja dann den token mit dem hinterlegten vergleichen.

                                    Stimmt der Token und der Zeitstempel ist ein anderer dann soll der Schalter TV_Licht umschalten.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    829
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    7
                                    19
                                    2071
                                    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