Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Sayit und Google Home wollen nicht

    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

    Sayit und Google Home wollen nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Lorrenor @DJMarc75 last edited by

      @djmarc75
      nur noch eine Frage. Wäre es dann so auch möglich noch eine mp3 Datei abzuspielen? Also zb eine Klingel für die Klingel und eine Sirene für einen Feueralarm? Das wäre cool, wenn Du mir noch kurz zeigen könntest, wie ich das machen kann.
      So viele Stunden Arbeit und keine Ahnung und Du löst mir das Problem in so kurzer Zeit. Vielen Dank

      1 Reply Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @Lorrenor last edited by

        @lorrenor sagte in Sayit und Google Home wollen nicht:

        Ich hab gestern so lange versucht alles Mögliche durchzuführen

        Hier wurde Dir ein Vorschlag gemacht:

        https://forum.iobroker.net/topic/73086/schleife-für-licht-an-und-aus/3?_=1709194747408

        Mit Deinem jetzigen Skript mit Schleifenfunktion wirst Du nicht glücklich werden 😉

        Hier mal nochmals ein Vorschlag:

        Screenshot 2024-02-29 155233.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="[J+TP.3@i$!Hm{i(IKai">cnt</variable>
           <variable type="timeout" id="timeout">timeout</variable>
         </variables>
         <block type="on_ext" id="!ahb=D~*Kn`8;$GIs!C0" x="-612" y="-12">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
           <field name="CONDITION">gt</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="c;gH4cgp;_rK`=^Hh]Lw">
               <field name="oid">default</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="ua]f9V0,p#kZmUh^:?!V">
               <value name="IF0">
                 <block type="logic_negate" id="a)UNWf^;{faT!tIASr[^">
                   <value name="BOOL">
                     <block type="timeouts_gettimeout" id=":VlVe:+S%QmOe|Ug/Cc2">
                       <field name="NAME">timeout</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="variables_set" id="rbuM]_JY+3?b80#kM@aW">
                   <field name="VAR" id="[J+TP.3@i$!Hm{i(IKai">cnt</field>
                   <value name="VALUE">
                     <block type="math_number" id="Lsqyngz0nEfO*oFg]#3N">
                       <field name="NUM">0</field>
                     </block>
                   </value>
                   <next>
                     <block type="control" id="O;(s}[ELSS8*sNe@Mq@o">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">sayit.0.tts.text</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="text" id="to-!l!eSlXvbb%I^icni">
                           <field name="TEXT">25;Jemand steht vor der Türe</field>
                         </block>
                       </value>
                       <next>
                         <block type="comment" id="4DcPiv[vp,Hsr#3v4aU,">
                           <field name="COMMENT">Pushover hier einfügen</field>
                           <next>
                             <block type="procedures_callnoreturn" id="_57-EFH*_O-JGYG}L)BL">
                               <mutation name="Zyklus"></mutation>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
         <block type="procedures_defnoreturn" id="(R6OKPLxt*3UO/vj2kLS" x="-612" y="263">
           <field name="NAME">Zyklus</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
           <statement name="STACK">
             <block type="math_change" id="*JfrXweMYXV:dX=)sSqc">
               <field name="VAR" id="[J+TP.3@i$!Hm{i(IKai">cnt</field>
               <value name="DELTA">
                 <shadow type="math_number" id="uXFPxlk$+5[6+{Q$`m/W">
                   <field name="NUM">1</field>
                 </shadow>
               </value>
               <next>
                 <block type="control" id="8U8[S=m|]~!g+p759pMc">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">Object ID</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="logic_boolean" id="/P17rKaED-A~xczN;J[A">
                       <field name="BOOL">TRUE</field>
                     </block>
                   </value>
                   <next>
                     <block type="control" id="^h/^17.50!pSEn0|ljKZ">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                       <field name="OID">Object ID</field>
                       <field name="WITH_DELAY">TRUE</field>
                       <field name="DELAY_MS">800</field>
                       <field name="UNIT">ms</field>
                       <field name="CLEAR_RUNNING">TRUE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="QB~W8JgD4!jNHRvRuT(3">
                           <field name="BOOL">FALSE</field>
                         </block>
                       </value>
                       <next>
                         <block type="controls_if" id="IAMuW*qj%/vO#92]HetV">
                           <value name="IF0">
                             <block type="logic_compare" id="[:$|/szVk2}SlqBE[$_w">
                               <field name="OP">LTE</field>
                               <value name="A">
                                 <block type="variables_get" id=";cZ%tg]{f$LMcY!59Cdy">
                                   <field name="VAR" id="[J+TP.3@i$!Hm{i(IKai">cnt</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="*ST~Ruk@%Bf?@d{~2.lH">
                                   <field name="NUM">4</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="timeouts_settimeout" id="XkReDgX3EZSh|s5zCc3T">
                               <field name="NAME">timeout</field>
                               <field name="DELAY">1500</field>
                               <field name="UNIT">ms</field>
                               <statement name="STATEMENT">
                                 <block type="procedures_callnoreturn" id="zx;pc5nq;gk5T9u{Qq)3">
                                   <mutation name="Zyklus"></mutation>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
         </block>
        </xml>
        

        Da ich keine GoogleGeräte habe kann ich Dir was die anderen Fragen angeht leider nicht helfen 😉

        L 1 Reply Last reply Reply Quote 1
        • L
          Lorrenor @DJMarc75 last edited by

          @djmarc75
          Ich bin jetzt gerade schon ganz schön doll glücklich. Also, dass das plötzlich so gut funktioniert.

          Ich glaube sehr gerne, dass meine ersten Gehversuche da nicht der Knaller sind. Würdest Du mir noch sagen, weswegen ich mit dem nicht so tollen Skript von mir nicht glücklich werde?
          Ich kopiere deins gleich mal rein und probiere es natürlich aus!

          DJMarc75 1 Reply Last reply Reply Quote 0
          • DJMarc75
            DJMarc75 @Lorrenor last edited by

            @lorrenor sagte in Sayit und Google Home wollen nicht:

            Ich kopiere deins gleich mal rein und probiere es natürlich aus!

            Nicht in Dein bestehendes kopieren, sondern in ein Neues - ObjektIDs anpassen und Dein jetziges Skript natürlich deaktivieren.

            @lorrenor sagte in Sayit und Google Home wollen nicht:

            weswegen ich mit dem nicht so tollen Skript von mir nicht glücklich werde?

            Stichwort: Schleifenfunktionen - wag Dich da erstmal noch nicht so ran bitte 😉
            Da werden im Millisekundenbereich Abfragen gemacht.

            L 1 Reply Last reply Reply Quote 0
            • L
              Lorrenor @DJMarc75 last edited by

              @djmarc75
              hab ich gemacht und läuft wie erwartet gut. Vielen Dank!

              Für wen sind denn Abfragen im Millisekundenbereich problematisch? Nur aus Interesse.
              Ich glaube Dir natürlich, dass das keine gute Idee ist!

              DJMarc75 1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @Lorrenor last edited by DJMarc75

                @lorrenor sagte in Sayit und Google Home wollen nicht:

                Für wen sind denn Abfragen im Millisekundenbereich problematisch?

                Schleifenfunktionen sind für Abfragen eher sinnvoll als für Funktionen wie bei Dir (Blinkfunktion).

                Das Thema jetzt genau zu beschreiben würde den Post hier sprengen.
                Dazu gibt es gute Dokus (z.B. von @Codierknecht oder sogar die originale vom JS-Adapter) 😉

                edit:

                https://forum.iobroker.net/post/1085370

                L 2 Replies Last reply Reply Quote 0
                • L
                  Lorrenor @DJMarc75 last edited by

                  @djmarc75
                  Alles klar! Dann vielen Dank nochmals und einen schönen Feierabend.

                  1 Reply Last reply Reply Quote 0
                  • L
                    Lorrenor @DJMarc75 last edited by

                    @djmarc75
                    ich dachte an sowas hier. Ich hab auch versucht das in dein Skript einzufügen, aber ich denke ich habe da nicht die richtige Position gefunden und somit ist dann natürlich alles hin.
                    Ich habe in dem besagten Ordner eine mp3 mit dem Namen klingel.mp3 drin.

                    link text

                    aber wenn ich das versuche im Objekt einzubringen, funktioniert es natürlich auch nicht.

                    1.jpg

                    DJMarc75 1 Reply Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @Lorrenor last edited by

                      @lorrenor sagte in Sayit und Google Home wollen nicht:

                      aber wenn ich das versuche im Objekt einzubringen, funktioniert es natürlich auch nicht.

                      man bringt sowas auch nicht in ein Objekt ein sondern befüllt den Datenpunkt.
                      Zeig mal das Blockly bitte

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        Lorrenor @DJMarc75 last edited by

                        @djmarc75 na das ist ja das von dir. Zum Glück. Hat sich nicht viel geändert. Ich habe versucht noch ein solches Projekt zu nehmen und hab dann in deinen Code noch den aus dem anderen Beitrag integriert. Aber da ging dann gar nichts mehr.

                        1.jpg

                        die Codezeilen:

                        <xml xmlns="https://developers.google.com/blockly/xml">
                        <variables>
                        <variable id="[J+TP.3@i$!Hm{i(IKai">cnt</variable>
                        <variable type="timeout" id="timeout">timeout</variable>
                        </variables>
                        <block type="on_ext" id="!ahb=D~Kn8;$GIs!C0" x="-612" y="-12"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="c;gH4cgp;_rK=^Hh]Lw">
                        <field name="oid">shelly.0.SHBTN-1#483FDAC34BB0#1.Button.EventCount</field>
                        </shadow>
                        </value>
                        <statement name="STATEMENT">
                        <block type="controls_if" id="ua]f9V0,p#kZmUh^:?!V">
                        <value name="IF0">
                        <block type="logic_negate" id="a)UNWf^;{faT!tIASr[^">
                        <value name="BOOL">
                        <block type="timeouts_gettimeout" id=":VlVe:+S%QmOe|Ug/Cc2">
                        <field name="NAME">timeout</field>
                        </block>
                        </value>
                        </block>
                        </value>
                        <statement name="DO0">
                        <block type="variables_set" id="rbuM]_JY+3?b80#kM@aW">
                        <field name="VAR" id="[J+TP.3@i$!Hm{i(IKai">cnt</field>
                        <value name="VALUE">
                        <block type="math_number" id="Lsqyngz0nEfO
                        oFg]#3N">
                        <field name="NUM">0</field>
                        </block>
                        </value>
                        <next>
                        <block type="control" id="O;(s}[ELSS8sNe@Mq@o">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">sayit.0.tts.text</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                        <block type="text" id="to-!l!eSlXvbb%I^icni">
                        <field name="TEXT">40;Hallo, jemand hat am Gartentor geklingelt!</field>
                        </block>
                        </value>
                        <next>
                        <block type="comment" id="4DcPiv[vp,Hsr#3v4aU,">
                        <field name="COMMENT">Pushover hier einfügen</field>
                        <next>
                        <block type="procedures_callnoreturn" id="_57-EFH
                        _O-JGYG}L)BL">
                        <mutation name="Zyklus"></mutation>
                        </block>
                        </next>
                        </block>
                        </next>
                        </block>
                        </next>
                        </block>
                        </statement>
                        </block>
                        </statement>
                        </block>
                        <block type="procedures_defnoreturn" id="(R6OKPLxt*3UO/vj2kLS" x="-612" y="263">
                        <field name="NAME">Zyklus</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        <statement name="STACK">
                        <block type="math_change" id="JfrXweMYXV:dX=)sSqc">
                        <field name="VAR" id="[J+TP.3@i$!Hm{i(IKai">cnt</field>
                        <value name="DELTA">
                        <shadow type="math_number" id="uXFPxlk$+5[6+{Q$`m/W">
                        <field name="NUM">1</field>
                        </shadow>
                        </value>
                        <next>
                        <block type="control" id="8U8[S=m|]~!g+p759pMc">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">shelly.0.shellyplusplugs#e465b8b9df04#1.Relay0.Switch</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                        <block type="logic_boolean" id="/P17rKaED-A~xczN;J[A">
                        <field name="BOOL">TRUE</field>
                        </block>
                        </value>
                        <next>
                        <block type="control" id="^h/^17.50!pSEn0|ljKZ">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                        <field name="OID">shelly.0.shellyplusplugs#e465b8b9df04#1.Relay0.Switch</field>
                        <field name="WITH_DELAY">TRUE</field>
                        <field name="DELAY_MS">800</field>
                        <field name="UNIT">ms</field>
                        <field name="CLEAR_RUNNING">TRUE</field>
                        <value name="VALUE">
                        <block type="logic_boolean" id="QB~W8JgD4!jNHRvRuT(3">
                        <field name="BOOL">FALSE</field>
                        </block>
                        </value>
                        <next>
                        <block type="controls_if" id="IAMuW
                        qj%/vO#92]HetV">
                        <value name="IF0">
                        <block type="logic_compare" id="[:$|/szVk2}SlqBE[$_w">
                        <field name="OP">LTE</field>
                        <value name="A">
                        <block type="variables_get" id=";cZ%tg]{f$LMcY!59Cdy">
                        <field name="VAR" id="[J+TP.3@i$!Hm{i(IKai">cnt</field>
                        </block>
                        </value>
                        <value name="B">
                        <block type="math_number" id="*ST~Ruk@%Bf?@d{~2.lH">
                        <field name="NUM">4</field>
                        </block>
                        </value>
                        </block>
                        </value>
                        <statement name="DO0">
                        <block type="timeouts_settimeout" id="XkReDgX3EZSh|s5zCc3T">
                        <field name="NAME">timeout</field>
                        <field name="DELAY">1500</field>
                        <field name="UNIT">ms</field>
                        <statement name="STATEMENT">
                        <block type="procedures_callnoreturn" id="zx;pc5nq;gk5T9u{Qq)3">
                        <mutation name="Zyklus"></mutation>
                        </block>
                        </statement>
                        </block>
                        </statement>
                        </block>
                        </next>
                        </block>
                        </next>
                        </block>
                        </next>
                        </block>
                        </statement>
                        </block>
                        </xml>

                        DJMarc75 1 Reply Last reply Reply Quote 0
                        • DJMarc75
                          DJMarc75 @Lorrenor last edited by

                          @lorrenor verstehe grad nicht so ganz was Du vor hast 🤔

                          Möchtest Du eine mp3 abspielen wenn geklingelt wird ?
                          Hab Dir schon geschrieben dass ich keine Google Devices habe - kann Dir dann eher nicht helfen 🙂

                          Aber gib mal diesen "besagten Ordner" bitte bekannt ( in dem das mp3 steckt) - vll kann man Dir dann weiter helfen

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            Lorrenor @DJMarc75 last edited by

                            @djmarc75 ja. Hab ich gelesen. Ich dachte nur, da die Kollegen in dem anderen chat auch sayit zum Abspielen der mp3 Datei nehmen... dachte ich, ich könnte vor der Sprachansage die du für mich gemacht hast, auch mit sayit vorher die Klingel abspielen.

                            ich hab das exakt so abgelegt wie im anderen Chat hinterlegt. Nur eben mit dem Titel klingel.mp3

                            setState("sayit.0.tts.text", '/opt/iobroker/iobroker-data/files/sayit.0/tts.userfiles/klingel.mp3');

                            also das ist der Ordner, dort liegt die Datei

                            haselchen DJMarc75 2 Replies Last reply Reply Quote 0
                            • haselchen
                              haselchen Most Active @Lorrenor last edited by

                              @lorrenor

                              Ich hab auch Jahre verbracht auf dem Mini ne MP3 abzuspielen.
                              Von Fehlermeldungen bis abgehackte MP3‘s bis es funktioniert, war alles dabei.
                              Im Endeffekt aber nicht zuverlässig.
                              Ich habe es aufgegeben und nutze nur noch Sprachausgaben für den Mini.
                              Meine MP3 lasse ich über Alexa jetzt ausgeben.

                              L 1 Reply Last reply Reply Quote 0
                              • DJMarc75
                                DJMarc75 @Lorrenor last edited by

                                @lorrenor sagte in Sayit und Google Home wollen nicht:

                                /opt/iobroker/iobroker-data/files/sayit.0/tts.userfiles/klingel.mp3

                                gib mal manuell in den Datenpunkt

                                /opt/iobroker/iobroker-data/files/sayit.0/tts.userfiles/klingel.mp3
                                

                                ein - natürlich unbestätigt

                                L 1 Reply Last reply Reply Quote 0
                                • L
                                  Lorrenor @DJMarc75 last edited by

                                  @djmarc75 hmm nee. Ich glaube das hab ich falsch gemacht. Ich habe einen eigenen Datenpunkt erstellt und dann da dein Kommando eingefügt. Aber leider ignoriert er es und gibt mit nur einen Fehler im log aus. Da hab ich bestimmt was falsch gemacht

                                  1.jpg

                                  <block type="control" id="}7XL6LV:tDOKE]0/Ir,w">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">javascript.0.Eigene_Datenpunkte.mp3_abspielen</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                  <block type="text" id="J|JEl#!l__q.{]:e@Atg">
                                  <field name="TEXT">40;/opt/iobroker/iobroker-data/files/sayit.0/tts.userfiles/klingel.mp3</field>
                                  </block>
                                  </value>

                                  und das ist der Fehler dazu

                                  19:00:13.615 warn javascript.0 (1566) at Object.<anonymous> (script.js.common.Meine_Skripte.Optimierte_Klingel:22:5)

                                  DJMarc75 1 Reply Last reply Reply Quote 0
                                  • L
                                    Lorrenor @haselchen last edited by

                                    @haselchen ja, ich hatte auch schon einige Beiträge von dir dazu gelesen. Sehr schade, dass das nicht so recht will.
                                    Ich habe mich aufgrund diverser Differenzen.... von all meinen Amazon Produkten verabschiedet und bin dann eben bei Google gelandet. Grundlegend bin ich schon zufrieden. Aber das verwundert mich wirklich, dass es so schwierig ist, diese Geräte dazu zu bewegen.

                                    1 Reply Last reply Reply Quote 0
                                    • DJMarc75
                                      DJMarc75 @Lorrenor last edited by DJMarc75

                                      @lorrenor sagte in Sayit und Google Home wollen nicht:

                                      Ich habe einen eigenen Datenpunkt erstellt

                                      Davon war noch nie die Rede 😉

                                      Wenn dann schreibst Du bitte in den Datenpunkt

                                      sayit.0.tts.text
                                      

                                      was rein, z.B.

                                      50;jawoll, es klappt jetzt, ich bin ein Held.
                                      
                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        Lorrenor @DJMarc75 last edited by

                                        @djmarc75

                                        dann hab ichs nicht verstanden, oder bin zu durch. Entschuldige.
                                        Ich habe mich mit dem Thema Datenpunkte bestmöglich beschäftigt, aber dann weiß ich nicht was du meinst.

                                        Kannst Du mir sagen wo in dem Blockly ich das eintragen muß?

                                        Meister Mopper 1 Reply Last reply Reply Quote 0
                                        • Meister Mopper
                                          Meister Mopper @Lorrenor last edited by

                                          @lorrenor sagte in Sayit und Google Home wollen nicht:

                                          @djmarc75

                                          dann hab ichs nicht verstanden, oder bin zu durch. Entschuldige.
                                          Ich habe mich mit dem Thema Datenpunkte bestmöglich beschäftigt, aber dann weiß ich nicht was du meinst.

                                          Kannst Du mir sagen wo in dem Blockly ich das eintragen muß?

                                          Hier:

                                          5997f47b-106e-4582-a484-42c3a6b51163-grafik.png

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            Lorrenor @Meister Mopper last edited by

                                            @meister-mopper
                                            ja sorry. Also da steh ich voll auf dem Schlauch.
                                            Das Ding spricht doch schon dank djmarc75. Also es sagt mir ja, dass jemand am Gartentor steht.
                                            Das ist also durch.

                                            Jetzt war nur die Frage, wie ich den Raspi dazu bewegen kann, VOR der Ansage noch eine mp3 Datei, in Form einer Klingel (64kb) bewegen kann.

                                            Ich habe leider nicht gefunden, wo ich diese Zeile einfügen soll bzw wie
                                            /opt/iobroker/iobroker-data/files/sayit.0/tts.userfiles/klingel.mp3

                                            Aber nochmal danke an das Forum, das geht wirklich gut hier! Da hab ich schon ganz anderes erlebt, zb Heizungs- oder PV Forum. Also DANKE

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            927
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            27
                                            1223
                                            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