Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Blocky für Bewegungsmelder (getrennter Senor / Aktor)

    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

    [gelöst] Blocky für Bewegungsmelder (getrennter Senor / Aktor)

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      was du moechtest kan man mit einem timer realisieren:

      • stelle dein blockly mal als export bereit

      • wie langen (nachdem keine bewegung erkannt wurde) soll die lampe noch anbleiben befohr das ausschalt kommando geschikt wird ?

      ~Dutch

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

        @Dutchman:

        was du moechtest kan man mit einem timer realisieren:

        • stelle dein blockly mal als export bereit

        • wie langen (nachdem keine bewegung erkannt wurde) soll die lampe noch anbleiben befohr das ausschalt kommando geschikt wird ?

        ~Dutch ` Moin Dutchman.

        Mache ich gleich sobald mein System sich aktualisiert hat.

        Das ein Timer ein zentrale Rolle spielt hab ich mir ja schon gedacht, allerdings ist mir die Syntax dafür nicht klar. Ich versuche mich anhand des konkreten Themas in die Funktionsweise von Blocky einzuarbeiten.

        Gesendet von meinem ONEPLUS A5010 mit Tapatalk

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

          @Dutchman:

          was du moechtest kan man mit einem timer realisieren:

          • stelle dein blockly mal als export bereit

          • wie langen (nachdem keine bewegung erkannt wurde) soll die lampe noch anbleiben befohr das ausschalt kommando geschikt wird ?

          ~Dutch `

          So, hier nun der Export, die Länge von dem Timer ist erstmal egal da sie sich ja fix anpassen lässt. Aber nehmen wir mal 5 Minuten zum Anfang:

          ! ````
          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Mv!MT1rvco3XETzCuTGB" x="13" y="13"><mutation items="1"></mutation>
          <field name="CONDITION">true</field>
          <field name="ACK_CONDITION">true</field>
          <value name="OID0"><shadow type="field_oid" id="ns2?l}nltRiK|jpVC|^F"><field name="oid">sonoff.0.Sonoff-BasicMotion01.POWER</field></shadow></value>
          <statement name="STATEMENT"><block type="control" id="Gr7sa[#FoRVMpn}Vsw"><mutation delay_input="false"></mutation>
          <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
          <field name="WITH_DELAY">FALSE</field>
          <value name="VALUE"><block type="logic_boolean" id="tM1D_I8FtZnZx#m*X[tT"><field name="BOOL">TRUE</field></block></value>
          <next><block type="debug" id="w=9Azu8gW+TuV9YNYCFd"><field name="Severity">log</field>
          <value name="TEXT"><shadow type="text" id="P:qZ8yHEt8g)M433J7"><field name="TEXT">geschaltet</field></shadow>
          <block type="text" id="U7|?tPT){*s:UTMK4]("><field name="TEXT">Bewegung Bad Keller erkannt</field></block></value></block></next></block></statement> <next><block type="on_ext" id="e:j;drGmk.I+p]dvt:|c"><mutation items="1"></mutation> <field name="CONDITION">false</field> <field name="ACK_CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="%BMow90xS2%5A,)Q=;^"><field name="oid">sonoff.0.Sonoff-BasicMotion01.POWER</field></shadow></value>
          <statement name="STATEMENT"><block type="control" id="uUG(C1wQ%IOnk@8ilY1g"><mutation delay_input="true"></mutation>
          <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
          <field name="WITH_DELAY">TRUE</field>
          <field name="DELAY_MS">10</field>
          <field name="UNIT">min</field>
          <field name="CLEAR_RUNNING">FALSE</field>
          <value name="VALUE"><block type="logic_boolean" id="(#0`Y|YSc.|~+Ndn{ybq"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></xml>

          1 Reply Last reply Reply Quote 0
          • A
            andyb last edited by

            Vielleicht reicht es schon "anerkannt ist" auf "egal" zu stellen

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              Ich wuerde es so loesen:

              979_bewegungsmelder_lampe_an_aus.jpg

              Der trigger ist immer auf den bewegungsmelder, wen bewegung erkannt und lampe ist aus ==> Lampe an

              Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten

              Sollte in der zwischenzeit wieder eine bewegung registriert werden und die lampe ist an wird der 5 minuten timer ausgeschaltet.

              Du musst noch in de falls bloecken wert von 1stes object = dein bewegungsmelder, 2tes object = status lampe.

              Das kan ich leider nicht weil ich die objecte nicht habe, verstaendlich so ?

              Export:

              ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="Mv!MT1rvco3XETzCuTGB" x="13" y="13"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="ns2?l}nltRiK|jpVC|^F"><field name="oid">sonoff.0.Sonoff-BasicMotion01.POWER</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="qHht;}xWiBega3|mT1Zv"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="[.lNWTlVaR^MLgFJVFIG"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="UPW4@%R5y*c:R-T-/3DO"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="V_x:*;.=.[7btwU@rYX1"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="Dlf!ZPX|MO~r+UIdunnG"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="@WEWIGmx54/s*p.RX}9R"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="ERGsA=E?DeaasSiTSsVB"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="BhBbpdv),^6^XZ|^3Woj"><field name="BOOL">FALSE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="Gr7sa[#FoRVMp*n}Vs*w"><mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="tM1D_I8FtZnZx#m*X[tT"><field name="BOOL">TRUE</field></block></value> <next><block type="debug" id="w=9Azu8gW+TuV9YNYCFd"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="P:qZ`8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow> <block type="text" id="U7|?`tPT){*s:UTMK4]("><field name="TEXT">Bewegung Bad Keller erkannt lampe eingeschaltet</field></block></value></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="i*v]sjdQ)Z.6+k3g|/!e"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="PoSE1O0JT#T6^GlBMXo;"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="7?neKzAZJI6i.tp#4_q}"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id=":YD/Qacv0%hP;40g?tVe"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="ESU]Nkj?#PANmu1^r`@y"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="90n-FJ.Vb2g}jAUrZ^li"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="q3cwU9kz%zKQF,BHw*Q`"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO1"><block type="timeouts_cleartimeout" id="GbSiSCG-y{J+*)yr1-qm"><field name="NAME">timeout</field> <next><block type="debug" id="uwi:gPIl}^XI+DR~Ej(U"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="P:qZ`8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow> <block type="text" id="ik5V^;3feEBA;O~XM}fE"><field name="TEXT">Bewegung Bad Keller, lampe ist an auschaltimer stoppen</field></block></value></block></next></block></statement> <value name="IF2"><block type="logic_operation" id="x3vz-[H|fD-IQCWJR0T?"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="`^LgI1QsB8NJ80E1Fo^V"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=",49EyOt6qm4fleul~{-z"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="DB(}[k1xlI4PI!*ZyH-h"><field name="BOOL">FALSE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="]Km:JyA#]}OGsxFe6f=+"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="U7Ol[JR-JN%{3dDUYMtU"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="c5,|+2IndqRJHTY;*Wy-"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO2"><block type="timeouts_settimeout" id="I0sUAS/_Kb%ipxBR!}0%"><field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="control" id="uUG(C1wQ%IOnk@8ilY1g"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="(#0`Y|YSc.|~+Ndn{ybq"><field name="BOOL">FALSE</field></block></value></block></statement> <next><block type="debug" id="D)dP^UBxesUWq[CDO~%3"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="P:qZ`8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow> <block type="text" id=";?m|f6q@nq*D}6?1Y7Vk"><field name="TEXT">Keine bewegung mehr, lampe schaltet in 5 minuten aus</field></block></value></block></next></block></statement></block></statement></block></xml> !

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

                @andyb:

                Vielleicht reicht es schon "anerkannt ist" auf "egal" zu stellen `

                Hatte ich direkt am Anfang, dadurch wird aber der Auschalttimer nicht wieder "aufgezogen". Mein Wunsch ist es dass bei jeder anliegenden Bewegung* der Ausschalttimer resettet wird auf die voreingestellte Zeit.

                *der Ausgang vom PIR Sensor wird bei einer Bewegung für ca 30 Sekunden aktiviert, verlängert sich aber nicht bei erneuter Bewegung. Liegt daran dass ich den Jumper auf dem HC-SR501 nicht entsprechend setzen kann.

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

                  @Dutchman:

                  Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten `
                  In dem Timer wird aber nochmals eine 10 Min. Verzögerung gestartet. Ist das richtig so?

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

                    @rantanplan:

                    @Dutchman:

                    Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten In dem Timer wird aber nochmals eine 10 Min. Verzögerung gestartet. Ist das richtig so?

                    Die Verzögerung habe ich herausgenommen und werde das gleich mal testen. Es ist mega praktisch dass man die einzelnen Skripte pausieren kann. Ganz schön tricky die ganze Angelegenheit, aber anhand eines konkreten Beispiels kann man schön die Funktionsweise verstehen/lernen.

                    @Dutchman

                    Danke schon mal für deine Arbeit

                    @all

                    Euch natürlich auch ein Dankeschön für die freundliche Aufnahme und Unterstützung.

                    Meikel

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

                      @Dutchman:

                      Ich wuerde es so loesen:

                      bewegungsmelder_lampe_an_aus.JPG

                      Der trigger ist immer auf den bewegungsmelder, wen bewegung erkannt und lampe ist aus ==> Lampe an

                      Wen keine bewegung mehr und lampe ist an, starte 5 minuten timer um lampe aus zu schalten

                      Sollte in der zwischenzeit wieder eine bewegung registriert werden und die lampe ist an wird der 5 minuten timer ausgeschaltet.

                      Du musst noch in de falls bloecken wert von 1stes object = dein bewegungsmelder, 2tes object = status lampe.

                      Das kan ich leider nicht weil ich die objecte nicht habe, verstaendlich so ? `

                      Funktioniert perfekt, hab das Ganze noch etwas angepasst und es sieht jetzt so aus:
                      4941_bildschirmfoto_2018-01-09_um_14.07.10.png

                      ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                      ! <block type="on_ext" id="Mv!MT1rvco3XETzCuTGB" x="13" y="-63"><mutation items="1"></mutation>
                      ! <field name="CONDITION">ne</field>
                      ! <field name="ACK_CONDITION">true</field>
                      ! <value name="OID0"><shadow type="field_oid" id="ns2?l}nltRiK|jpVC|^F"><field name="oid">sonoff.0.Sonoff_BasicMotion01.POWER</field></shadow></value>
                      ! <statement name="STATEMENT"><block type="controls_if" id="qHht;}xWiBega3|mT1Zv"><mutation elseif="2"></mutation>
                      ! <value name="IF0"><block type="logic_operation" id="[.lNWTlVaR^MLgFJVFIG"><field name="OP">AND</field>
                      ! <value name="A"><block type="logic_compare" id="UPW4@%R5yc:R-T-/3DO"><field name="OP">EQ</field>
                      ! <value name="A"><block type="get_value" id="V_x:
                      ;.=.[7btwU@rYX1"><field name="ATTR">val</field>
                      ! <field name="OID">sonoff.0.Sonoff_BasicMotion01.POWER</field></block></value>
                      ! <value name="B"><block type="logic_boolean" id="Dlf!ZPX|MO~r+UIdunnG"><field name="BOOL">TRUE</field></block></value></block></value>
                      ! <value name="B"><block type="logic_compare" id="@WEWIGmx54/sp.RX}9R"><field name="OP">EQ</field>
                      ! <value name="A"><block type="get_value" id="ERGsA=E?DeaasSiTSsVB"><field name="ATTR">val</field>
                      ! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field></block></value>
                      ! <value name="B"><block type="logic_boolean" id="BhBbpdv),^6^XZ|^3Woj"><field name="BOOL">FALSE</field></block></value></block></value></block></value>
                      ! <statement name="DO0"><block type="control" id="Gr7sa[#FoRVMp
                      n}Vsw"><mutation delay_input="false"></mutation>
                      ! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
                      ! <field name="WITH_DELAY">FALSE</field>
                      ! <value name="VALUE"><block type="logic_boolean" id="tM1D_I8FtZnZx#m
                      X[tT"><field name="BOOL">TRUE</field></block></value>
                      ! <next><block type="debug" id="w=9Azu8gW+TuV9YNYCFd"><field name="Severity">log</field>
                      ! <value name="TEXT"><shadow type="text" id="P:qZ8yHEt8g)M433J7"><field name="TEXT">geschaltet</field></shadow>
                      ! <block type="text" id="U7|?tPT){*s:UTMK4]("><field name="TEXT">Bewegung Bad Keller erkannt Lampe eingeschaltet</field></block></value></block></next></block></statement> ! <value name="IF1"><block type="logic_operation" id="i*v]sjdQ)Z.6+k3g|/!e"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="PoSE1O0JT#T6^GlBMXo;"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="7?neKzAZJI6i.tp#4_q}"><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Sonoff_BasicMotion01.POWER</field></block></value> ! <value name="B"><block type="logic_boolean" id=":YD/Qacv0%hP;40g?tVe"><field name="BOOL">TRUE</field></block></value></block></value> ! <value name="B"><block type="logic_compare" id="ESU]Nkj?#PANmu1^r@y"><field name="OP">EQ</field>
                      ! <value name="A"><block type="get_value" id="90n-FJ.Vb2g}jAUrZ^li"><field name="ATTR">val</field>
                      ! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field></block></value>
                      ! <value name="B"><block type="logic_boolean" id="q3cwU9kz%zKQF,BHw*Q"><field name="BOOL">TRUE</field></block></value></block></value></block></value> ! <statement name="DO1"><block type="timeouts_cleartimeout" id="GbSiSCG-y{J+*)yr1-qm"><field name="NAME">timeout</field> ! <next><block type="debug" id="uwi:gPIl}^XI+DR~Ej(U"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="P:qZ8yHEt8g)M433J7"><field name="TEXT">geschaltet</field></shadow> ! <block type="text" id="ik5V^;3feEBA;O~XM}fE"><field name="TEXT">Bewegung Bad Keller, Lampe ist an auschaltimer stoppen</field></block></value></block></next></block></statement> ! <value name="IF2"><block type="logic_operation" id="x3vz-[H|fD-IQCWJR0T?"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="^LgI1QsB8NJ80E1Fo^V"><field name="OP">EQ</field>
                      ! <value name="A"><block type="get_value" id=",49EyOt6qm4fleul~{-z"><field name="ATTR">val</field>
                      ! <field name="OID">sonoff.0.Sonoff_BasicMotion01.POWER</field></block></value>
                      ! <value name="B"><block type="logic_boolean" id="DB(}[k1xlI4PI!*ZyH-h"><field name="BOOL">FALSE</field></block></value></block></value>
                      ! <value name="B"><block type="logic_compare" id="]Km:JyA#]}OGsxFe6f=+"><field name="OP">EQ</field>
                      ! <value name="A"><block type="get_value" id="U7Ol[JR-JN%{3dDUYMtU"><field name="ATTR">val</field>
                      ! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field></block></value>
                      ! <value name="B"><block type="logic_boolean" id="c5,|+2IndqRJHTY;Wy-"><field name="BOOL">TRUE</field></block></value></block></value></block></value>
                      ! <statement name="DO2"><block type="timeouts_settimeout" id="I0sUAS/_Kb%ipxBR!}0%"><field name="NAME">timeout</field>
                      ! <field name="DELAY">5</field>
                      ! <field name="UNIT">min</field>
                      ! <statement name="STATEMENT"><block type="control" id="uUG(C1wQ%IOnk@8ilY1g"><mutation delay_input="false"></mutation>
                      ! <field name="OID">sonoff.0.Sonoff_BasicSensor01.POWER</field>
                      ! <field name="WITH_DELAY">FALSE</field>
                      ! <value name="VALUE"><block type="logic_boolean" id="(#0Y|YSc.|~+Ndn{ybq"><field name="BOOL">FALSE</field></block></value></block></statement> ! <next><block type="debug" id="D)dP^UBxesUWq[CDO~%3"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="P:qZ8yHEt`8g)M433J7"><field name="TEXT">geschaltet</field></shadow>
                      ! <block type="text" id=";?m|f6q@nq
                      D}6?1Y7Vk"><field name="TEXT">Keine bewegung mehr, lampe schaltet in 5 minuten aus</field></block></value></block></next></block></statement></block></statement></block></xml>

                      Das macht ja richtig Spaß 😄

                      Wie werden hier die Threads auf "gelöst" gesetzt?

                      1 Reply Last reply Reply Quote 0
                      • A
                        andyb last edited by

                        Tja, so sind sie die zwei 😄 , haben mir auch schon mit ihren Beiträgen sehr geholfen.

                        Einfach ein "[gelöst]" in den Titel voranstellen.

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          @rantanplan:

                          In dem Timer wird aber nochmals eine 10 Min. Verzögerung gestartet. Ist das richtig so? `

                          Ups nein der muss raus, der timer da drüber reicht sorry 😉

                          –-----------------------

                          Send from mobile device

                          Das schöne ios hat Auto Korrektur zum k****

                          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                          1 Reply Last reply Reply Quote 0
                          • Dutchman
                            Dutchman Developer Most Active Administrators last edited by

                            Oh neue posts übersehen es läuft also super 😄

                            –-----------------------

                            Send from mobile device

                            Das schöne ios hat Auto Korrektur zum k****

                            Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                              Wollte mich noch mal bedanken und mitteilen dass das Skript absolut perfekt funktioniert. Die beiden Sonoffs verrichten auch problemlos ihren Job. Der mechanische Einbau ist jetzt auch abgeschlossen und ich wollte euch mein handwerkliches "Meisterwerk" noch kurz zeigen 😄
                              4941_img_20180112_144151.jpg 4941_img_20180112_144317.jpg
                              Grüße

                              Meikel

                              1 Reply Last reply Reply Quote 0
                              • Dutchman
                                Dutchman Developer Most Active Administrators last edited by

                                Nice!

                                –-----------------------

                                Send from mobile device

                                Das schöne ios hat Auto Korrektur zum k****

                                Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                595
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                4
                                17
                                2048
                                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