Navigation

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

    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

    Stoppuhr

    This topic has been deleted. Only users with topic management privileges can see it.
    • rantanplan
      rantanplan @liv-in-sky last edited by

      @liv-in-sky sagte in Stoppuhr:

      ich will sicher sein, das weitergezählt wird, wenn script neustart oder iobroker neustart gemacht wird -

      Das macht keinen Unterschied. Am Grundablauf ändert sich ja nichts. Der wird nur sicherer abgearbeitet.

      1 Reply Last reply Reply Quote 0
      • rantanplan
        rantanplan @liv-in-sky last edited by

        @liv-in-sky sagte in Stoppuhr:

        magst du mal drüber schauen - besonders die "numbers" machen ärger

        Ich habe den neuen Baustein noch nicht☺ und deshalb auch noch nicht testen können.
        Da musste aufpassen, wenn Du den in Deinem Script einsetzen willst. Der ist noch nicht offiziell und viele haben den noch nicht.
        Nimm doch das Beispiel hier aus dem Forum. (Ich weis jetzt nicht mehr vom wem es ist)

        <xml xmlns="http://www.w3.org/1999/xhtml">
          <variables>
            <variable type="" id="FBRMInq]cmeK@PIx26k-">Name</variable>
            <variable type="" id="b%fh+m8|cc?7K@#Bb(v=">Initialisierung</variable>
            <variable type="" id="EVB$-0(O@vC6ip%213,5">Beschreibung</variable>
            <variable type="" id="_J*8+6%%,[BJjhVu8jxZ">Type</variable>
            <variable type="" id="_F3NI18eUQsGs2qt.T]">Rolle</variable>
            <variable type="" id="J=uVGW;P^k@A!vhBphUm">smartName</variable>
          </variables>
          <block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-337" y="13">
            <mutation statements="false">
              <arg name="Name" varid="FBRMInq]cmeK@PIx26k-"></arg>
              <arg name="Initialisierung" varid="b%fh+m8|cc?7K@#Bb(v="></arg>
              <arg name="Beschreibung" varid="EVB$-0(O@vC6ip%213,5"></arg>
              <arg name="Type" varid="_J*8+6%%,[BJjhVu8jxZ"></arg>
              <arg name="Rolle" varid="_F3NI18eUQsGs2qt.T]"></arg>
              <arg name="smartName" varid="J=uVGW;P^k@A!vhBphUm"></arg>
            </mutation>
            <field name="NAME">Variablen anlegen</field>
            <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlLA0KICBzbWFydE5hbWU6IHNtYXJ0TmFtZQ0KfSk7DQo=</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          </block>
          <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-337" y="62">
            <mutation name="Variablen anlegen">
              <arg name="Name"></arg>
              <arg name="Initialisierung"></arg>
              <arg name="Beschreibung"></arg>
              <arg name="Type"></arg>
              <arg name="Rolle"></arg>
              <arg name="smartName"></arg>
            </mutation>
            <value name="ARG0">
              <block type="text" id="nSr7Hq~;DUU2#lB+Yj:}">
                <field name="TEXT">MyVars.Test</field>
              </block>
            </value>
            <value name="ARG1">
              <block type="text" id="xlqa55O11o@{+#@Yj;%">
                <field name="TEXT">true</field>
              </block>
            </value>
            <value name="ARG2">
              <block type="text" id="yEhqZqxh*}Ip8?yzOW7I">
                <field name="TEXT">neuer Datenpunkt A</field>
              </block>
            </value>
            <value name="ARG3">
              <block type="text" id="sYAGk@@-Fz^fIDONX!/i">
                <field name="TEXT">boolean</field>
              </block>
            </value>
            <value name="ARG4">
              <block type="text" id="/t]#6;-K%9u+eD1jG09@">
                <field name="TEXT">button</field>
              </block>
            </value>
            <value name="ARG5">
              <block type="text" id="f?//#sV0P}x+|S.8nzy">
                <field name="TEXT">SmartName A</field>
              </block>
            </value>
          </block>
        </xml>
        
        <xml xmlns="http://www.w3.org/1999/xhtml">
          <variables>
            <variable type="" id="FBRMInq]cmeK@PIx26k-">Name</variable>
            <variable type="" id="b%fh+m8|cc?7K@#Bb(v=">Initialisierung</variable>
            <variable type="" id="EVB$-0(O@vC6ip%213,5">Beschreibung</variable>
            <variable type="" id="_J*8+6%%,[BJjhVu8jxZ">Type</variable>
            <variable type="" id="_F3NI18eUQsGs2qt.T]">Rolle</variable>
            <variable type="" id="J=uVGW;P^k@A!vhBphUm">smartName</variable>
          </variables>
          <block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-337" y="13">
            <mutation statements="false">
              <arg name="Name" varid="FBRMInq]cmeK@PIx26k-"></arg>
              <arg name="Initialisierung" varid="b%fh+m8|cc?7K@#Bb(v="></arg>
              <arg name="Beschreibung" varid="EVB$-0(O@vC6ip%213,5"></arg>
              <arg name="Type" varid="_J*8+6%%,[BJjhVu8jxZ"></arg>
              <arg name="Rolle" varid="_F3NI18eUQsGs2qt.T]"></arg>
              <arg name="smartName" varid="J=uVGW;P^k@A!vhBphUm"></arg>
            </mutation>
            <field name="NAME">Variablen anlegen</field>
            <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlLA0KICBzbWFydE5hbWU6IHNtYXJ0TmFtZQ0KfSk7DQo=</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          </block>
          <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-337" y="62">
            <mutation name="Variablen anlegen">
              <arg name="Name"></arg>
              <arg name="Initialisierung"></arg>
              <arg name="Beschreibung"></arg>
              <arg name="Type"></arg>
              <arg name="Rolle"></arg>
              <arg name="smartName"></arg>
            </mutation>
            <value name="ARG0">
              <block type="text" id="nSr7Hq~;DUU2#lB+Yj:}">
                <field name="TEXT">MyVars.Test</field>
              </block>
            </value>
            <value name="ARG1">
              <block type="text" id="xlqa55O11o@{+#@Yj;%">
                <field name="TEXT">true</field>
              </block>
            </value>
            <value name="ARG2">
              <block type="text" id="yEhqZqxh*}Ip8?yzOW7I">
                <field name="TEXT">neuer Datenpunkt A</field>
              </block>
            </value>
            <value name="ARG3">
              <block type="text" id="sYAGk@@-Fz^fIDONX!/i">
                <field name="TEXT">boolean</field>
              </block>
            </value>
            <value name="ARG4">
              <block type="text" id="/t]#6;-K%9u+eD1jG09@">
                <field name="TEXT">button</field>
              </block>
            </value>
            <value name="ARG5">
              <block type="text" id="f?//#sV0P}x+|S.8nzy">
                <field name="TEXT">SmartName A</field>
              </block>
            </value>
          </block>
        </xml>
        

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky last edited by

          @rantanplan

          das ist kein kein baustein sondern ein js-script eingebundenen in blockly

          Image 1.png

          unter objekte werden sie angezeigt - aber z.b die vis findet sie nicht, obwhl ich den datenpunktpfad hinein kopiert habe - auch das script macht einen fehler mit missing datenpunkt

          Image 3.png

          rantanplan 1 Reply Last reply Reply Quote 0
          • rantanplan
            rantanplan @liv-in-sky last edited by

            @liv-in-sky sagte in Stoppuhr:

            @rantanplan

            das ist kein kein baustein sondern ein js-script eingebundenen in blockly

            Woher sollte ich das wissen?
            Vielleicht noch ein Tipp? Wenn Du "etwas tun3" anklickst, kannst Du den Funktionsnamen in etwas "sprechendes" umbenennen. Kann man auch im Nachhinein ändern.

            Datenpunkte die in einem Script neu anlegt, kann man nicht direkt beim ersten Start benutzen!
            ioBroker braucht dazu etwas Zeit.
            Stript Start, Script Stop, Script Start.

            1 Reply Last reply Reply Quote 0
            • S
              Schlagschatten last edited by

              Moin,
              das war wohl wirklich eine Menge Arbeit. Habe das Script angepasst und läuft. Start/Stop und Reset auch. Prima und danke dafür. Da ich gestern das alte Script getestet habe und sich mein Pi bei den ersten beiden Versuchen verabschiedet hat, und ich im schlimmsten Fall bis zu 8 Zähler gleichzeitig laufen lasse möchte, denke ich das es Probleme mit der Performance geben könnte.
              Der dritte Versuch funktionierte bis jetzt tadelos, bis auf auf den Zeitversatz von 10 sek., was nicht so wichtig ist. s.h. bild4.PNG

              Vielleicht könnte man das Ganze ein wenig abspecken. Z.B. die Ausgabehilfen reduzieren, und nur das Start Datum/Zeit anzeigen lassen. Leider bin ich keine große Hilfe, da ich das Script nicht komplett verstehe.

              Schaut doch bitte mal das Script von mir an, vielleicht könnt ihr mir sagen, was man besser machen kann. Das Script funktioniert soweit, nur Zeit läuft nach ca. 45min langsamer.

              Vg Chris

              1 Reply Last reply Reply Quote 0
              • S
                Schlagschatten last edited by

                Frage: Woher kommt die Meldung?5.PNG

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Schlagschatten last edited by

                  @Schlagschatten sagte in Stoppuhr:

                  3.PNG

                  meist du dieses script ?

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky last edited by

                    @Schlagschatten sagte in Stoppuhr:

                    Frage: Woher kommt die Meldung?5.PNG

                    das sind fehlermeldungen für mich zum debuggen (fehlersuche)

                    geh mit der rechten maustaste darauf und wähle deaktivieren aus - dann ist es weg - ich mache solche meldungen immer mit warnung oder error - weil dann farbig im log und einfacher zum finden - es sind aber keine warnungen oder fehler

                    1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky last edited by liv-in-sky

                      nur zur klarstellung

                      wenn du mehrere zähler benutzen willst, brauchst du für jeden zaehler ein eigenes script als stoppuhr

                      ich programmiere gerade das automatische anlegen von den datenpunkten - dann kann viel einfacher mehrere solcher scripte installieren

                      update kommt bald

                      1 Reply Last reply Reply Quote 0
                      • S
                        Schlagschatten last edited by

                        Ok, die Meldungen kommen von dir. Habe die Scripte schon angelegt, 8 für jeden Zähler. Da der Pi gerade wieder abgestürtzt ist, mache ich mir wirlich Sorgen.

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Schlagschatten last edited by

                          @Schlagschatten

                          ich muss mmal einen überblick bekommen

                          du nutzt 8 von meinen sripts !

                          und du hast 8 skripte, die das ganze steuern - oder hast du meine scripts manipuliert ?

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • S
                            Schlagschatten last edited by

                            Ich habe mit meinem Script angefangen und dementsprechen auch Scripte angelegt. Nun habe ich bei 2 Zählern das Script von dir am laufen. Erster Zähler das Script von gestern und der zweite Zähler von heute. Z.z. laufen nur die Scripte von dir. Und ich kann mir halt nicht vorstellen, das die Leistung ausreicht.6.PNG

                            1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @liv-in-sky last edited by liv-in-sky

                              @liv-in-sky

                              wenn das so ist - bitte ändere die anlaufzeit, damit nicht alle gleichzeitig zu rechnen beginnen

                              Image 4.png

                              gehe in den zeitplan und ändere die 30 sekunden auf eine unterschiedliche primzahl z.b.

                              also einer ist auf "alle 23 sekunden" der nächste auf " alle 29" dann 37, 41, 43, 47,53 - damit hast du keine überschneidungen bei der berechnung mehr

                              und bitte erkläre mir, was du da eigentlich machst - nur um eine vorstellung zu bekommen, was das für wasserstände sind

                              1 Reply Last reply Reply Quote 0
                              • S
                                Schlagschatten last edited by

                                Ja das ändere ich. Ich vermute mal du schreibst die Scripte und baust sie nicht mit Blockly zusammen.

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Schlagschatten last edited by

                                  @Schlagschatten nope - alles mit blockly

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Schlagschatten last edited by

                                    Die Zähler nutzte ich für meinen Garten. Einen Gießzähler sozusagen und wann gepflanzt wurde.

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Schlagschatten last edited by

                                      @Schlagschatten

                                      ok - mal sehen, ob wir das zum laufen bringen

                                      welches script sollte ich noch überprüfen ?

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

                                        Wie schon gesagt. Da sind sehr viele Verzögerungen und Timeouts. Wenn da mehrere von laufen, kann es haarig werden. Und wenn man ne Kleinigkeit verändert hat, ist es nicht mehr zu überblicken.

                                        @liv-in-sky Lass das anlegen der Datenpunke erstmal liegen und pass das Script an. Sonst hast Du hier Support ohne Ende.

                                        liv-in-sky 2 Replies Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @rantanplan last edited by liv-in-sky

                                          @rantanplan

                                          danke dir - bin schon dabei

                                          ich habe nicht damit gerechnet, dass es gleich in die massenverarbeitung geht 🙂

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

                                            Schau mal hier für Minuten

                                            <xml xmlns="http://www.w3.org/1999/xhtml">
                                            <variables>
                                            <variable type="undefined" id="Intervall11">Intervall11</variable>
                                            <variable type="" id="RJX#bCFN/lLc{/ML$d(C">counter11</variable>
                                            </variables>
                                            <block type="on_ext" id="nlX!8rCV~k.;9Xm#$t0S" x="-1112" y="-1337">
                                            <mutation items="2"></mutation>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <value name="OID0">
                                            <shadow type="field_oid" id="ES``F{uHqW8J+/Y,X@P,">
                                            <field name="oid">vis.0.HansNOTAUS.Wasserzaehler2</field>
                                            </shadow>
                                            </value>
                                            <value name="OID1">
                                            <shadow type="field_oid" id="c1dm,W4lL4F/SCN/JXE[">
                                            <field name="oid">vis.0.HansNOTAUS.Wasserzaehler2.Minuten</field>
                                            </shadow>
                                            </value>
                                            <statement name="STATEMENT">
                                            <block type="controls_if" id="CjOQv-/z9yZw|+5]9~Ey">
                                            <mutation elseif="1"></mutation>
                                            <value name="IF0">
                                            <block type="logic_compare" id="mbvd~(W_.g}5*}=^oO~v">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                            <block type="get_value" id="jMiE]hV^DT%]ElNF/Ms">
                                            <field name="ATTR">val</field>
                                            <field name="OID">vis.0.HansNOTAUS.Wasserzaehler2</field>
                                            </block>
                                            </value>
                                            <value name="B">
                                            <block type="logic_boolean" id="_zD5z^Eg?Mp/(ND7]U/1">
                                            <field name="BOOL">TRUE</field>
                                            </block>
                                            </value>
                                            </block>
                                            </value>
                                            <statement name="DO0">
                                            <block type="timeouts_setinterval" id="@4#gh8ib?30YN]phECu"> <field name="NAME">Intervall11</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="math_change" id="ISrC8BYmAH[I|pL+%xZ">
                                            <field name="VAR" id="RJX#bCFN/lLc{/ML$d(C" variabletype="">counter11</field>
                                            <value name="DELTA">
                                            <shadow type="math_number" id="fRCT)TN8g
                                            |+PyckhQDs">
                                            <field name="NUM">1</field>
                                            </shadow>
                                            </value>
                                            <next>
                                            <block type="controls_if" id="e02eDw4RhcrUIFhfdw_.">
                                            <value name="IF0">
                                            <block type="logic_compare" id=";GfrwfY$+9p-)fDhUb$^">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                            <block type="variables_get" id="]b(I5apIK{$dpqaHjv3">
                                            <field name="VAR" id="RJX#bCFN/lLc{/ML$d(C" variabletype="">counter11</field>
                                            </block>
                                            </value>
                                            <value name="B">
                                            <block type="math_number" id="eKpd|+UN.Vum}MTuDzQ">
                                            <field name="NUM">60</field>
                                            </block>
                                            </value>
                                            </block>
                                            </value>
                                            <statement name="DO0">
                                            <block type="update" id="bMO;21Gt^nL/r2CY@1
                                            t">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">vis.0.HansNOTAUS.Wasserzaehler2.Minuten</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                            <block type="math_arithmetic" id="Vp#pAhCa-z%KT|(U:K+"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="j1N0n8@)2iYs00z3u#fB"> <field name="NUM">1</field> </shadow> <block type="get_value" id="+nhPP|Y:/v3J51YI:~1a"> <field name="ATTR">val</field> <field name="OID">vis.0.HansNOTAUS.Wasserzaehler2.Minuten</field> </block> </value> <value name="B"> <shadow type="math_number" id="(/_[7S|b%eWw1_/$Wu;m"> <field name="NUM">1</field> </shadow> </value> </block> </value> <next> <block type="timeouts_clearinterval" id="tB5ooe#rUd?S;~;+GFti"> <field name="NAME">Intervall11</field> <next> <block type="variables_set" id="Y3Rl?EUO8%)_wC#VErw">
                                            <field name="VAR" id="RJX#bCFN/lLc{/ML$d(C" variabletype="">counter11</field>
                                            <value name="VALUE">
                                            <block type="math_number" id="[kE?RAf~_i@=IdcO3N]Z">
                                            <field name="NUM">0</field>
                                            </block>
                                            </value>
                                            <next>
                                            <block type="controls_if" id="a;8tAFMjv#,Xd^Kjf+v"> <value name="IF0"> <block type="logic_compare" id="D?YfUm1c9_EWg~MyS/bH"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="s41qHt:7~[eHKIMZfq)7"> <field name="ATTR">val</field> <field name="OID">vis.0.HansNOTAUS.Wasserzaehler2.Minuten</field> </block> </value> <value name="B"> <block type="math_number" id="D)_9Dy]46ke9LeqJ_i?,"> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="#1/6(pbgt@k%@1DPKrH-"> <mutation delay_input="false"></mutation> <field name="OID">vis.0.HansNOTAUS.Wasserzaehler2.Minuten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="HN@G,buRO)t;YiBOa{a">
                                            <field name="NUM">0</field>
                                            </block>
                                            </value>
                                            <next>
                                            <block type="timeouts_clearinterval" id="/XQ7uoYal.}TbA@]0esj">
                                            <field name="NAME">Intervall11</field>
                                            <next>
                                            <block type="variables_set" id="}wD%GU8=PV
                                            Vwg#1X$Fn">
                                            <field name="VAR" id="RJX#bCFN/lLc{/ML$d(C" variabletype="">counter11</field>
                                            <value name="VALUE">
                                            <block type="math_number" id="E;At!GK1X7f2C;l(oj+">
                                            <field name="NUM">0</field>
                                            </block>
                                            </value>
                                            </block>
                                            </next>
                                            </block>
                                            </next>
                                            </block>
                                            </statement>
                                            </block>
                                            </next>
                                            </block>
                                            </next>
                                            </block>
                                            </next>
                                            </block>
                                            </statement>
                                            </block>
                                            </next>
                                            </block>
                                            </statement>
                                            </block>
                                            </statement>
                                            <value name="IF1">
                                            <block type="logic_compare" id="HZ
                                            d)FAmc$T/gmUyaATz">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                            <block type="get_value" id="Bgj{aa~3Rhl-J_{J,JEj">
                                            <field name="ATTR">val</field>
                                            <field name="OID">vis.0.HansNOTAUS.Wasserzaehler2</field>
                                            </block>
                                            </value>
                                            <value name="B">
                                            <block type="logic_boolean" id="z=?N^mXE=#b:f;PI7M@c">
                                            <field name="BOOL">FALSE</field>
                                            </block>
                                            </value>
                                            </block>
                                            </value>
                                            <statement name="DO1">
                                            <block type="variables_set" id="P2H;X!(CVbMKDLqv34hT">
                                            <field name="VAR" id="RJX#bCFN/lLc{/ML$d(C" variabletype="">counter11</field>
                                            <value name="VALUE">
                                            <block type="math_number" id="l3z)Gn0Uy?}=Te48Ai["> <field name="NUM">0</field> </block> </value> <next> <block type="timeouts_clearinterval" id="TQ;:O)dZR;9m8)[Ubq8">
                                            <field name="NAME">Intervall11</field>
                                            </block>
                                            </next>
                                            </block>
                                            </statement>
                                            </block>
                                            </statement>
                                            </block>
                                            </xml>

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            411
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            130
                                            10189
                                            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