Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter espresense

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter espresense

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

      @ticaki

      Hab mir gerade ein kleines Blockly geschrieben, das mir den Raum ausgibt, wenn ein Device im Abstand kleiner 2m ist - damit sollte das Device auch in dem Raum vorhanden sein..
      Da ich mir den Raumnamen aus dem State / Channel ausgeben lasse, wird der leider klein geschrieben.. im ESP ist er aber richtig, so wie ich ihn haette.. wandelst du da irgendwo?

      Kann ich das aendern, damit es dauerhaft bleibt oder magst da ein Update machen? 🙂
      Am liebsten ne Tabelle, wo ich die Raeume bennenen kann.. also mit Leerzeichen etc.. damits schick aussieht.. aber das ist dann schon auf High-End.. 🙂
      Edit:
      hab insgesamt 23 Raeume, zur Zeit sind 14 angelegt mit ESP-Presence. Warte auf Lieferung..

      Edit2:
      am aller aller aller liebsten wenn du sowas gleich in den Adapter einbaust.. 🙂
      Wieder ein Script gespart.. aber muss nicht sein.. geht auch so

      Blockly:
      Screenshot 2025-01-28 at 13.21.04.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <block type="on_ext" id="^qPiKQ+R3[QXPnKS1*m6" x="337" y="-38">
         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
         <field name="CONDITION">ne</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="PU.UOefvQw/E3/!PmRee">
             <field name="oid">ID auswählen</field>
           </shadow>
           <block type="selector" id="dAyJ?LVmpU$(Paf(){O9">
             <field name="TEXT">channel[state.id=espresense.0.devices.phone_iphonebernd.*.distance]</field>
           </block>
         </value>
         <statement name="STATEMENT">
           <block type="controls_if" id="1!Z`xi{rj21A!{`vU7?T">
             <value name="IF0">
               <block type="logic_multi_and" id="Z;}%5L(?:v=2$0o,a/Cj">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                 <value name="AND0">
                   <block type="logic_compare" id="#?2|rJv`WS~gF~B8+lSu">
                     <field name="OP">LT</field>
                     <value name="A">
                       <block type="on_source" id="^BSoQ_SW`.Gp7aXL[7~R">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="im%6fr]T~!*qWfVQz}c7">
                         <field name="NUM">2</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="AND1">
                   <block type="logic_compare" id="-{3;L/WIab[L$:d{?:wp">
                     <field name="OP">GT</field>
                     <value name="A">
                       <block type="on_source" id="mUWidq.2Bbz##Jlz`G7N">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="PZpwEH5eT|E:l#NNTLz#">
                         <field name="NUM">0</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </value>
             <statement name="DO0">
               <block type="control" id="NC0}wyFAydYsFltyJs~h">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                 <field name="OID">0_userdata.0.Presence.Iphones.iphoneBernd</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="text_join" id="ePuhwBMMgAZ0%J}e0L:W">
                     <mutation items="4"></mutation>
                     <value name="ADD0">
                       <block type="text" id="+%gRSi.-$![xdU#({T*8">
                         <field name="TEXT">Iphone Bernd ist </field>
                       </block>
                     </value>
                     <value name="ADD1">
                       <block type="on_source" id="2w?9KUa*JxD21hjtN4U(">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                     <value name="ADD2">
                       <block type="text" id="W.F?Z^82kYxY7*vSD(m@">
                         <field name="TEXT"> m entfernt in Raum </field>
                       </block>
                     </value>
                     <value name="ADD3">
                       <block type="on_source" id="p5_n)78*DC{TigTbTG!P">
                         <field name="ATTR">channelName</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </statement>
           </block>
         </statement>
         <next>
           <block type="on" id="?h.gsszL,$V%Uhk,e(Nq">
             <field name="OID">espresense.0.devices.phone_iphonebernd.presense</field>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="controls_if" id="wF52^1L:3cw(]hzs~=mf">
                 <value name="IF0">
                   <block type="logic_negate" id=".bnU.ra^3a@Ofq2FVdZO">
                     <value name="BOOL">
                       <block type="on_source" id="p[kytF5^1BUwP|Gh:/F(">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="control" id="Gy:CnDx@aw=N-S:2^hIF">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                     <field name="OID">0_userdata.0.Presence.Iphones.iphoneBernd</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="text" id="sUa6q_*QGS%-^rG6#1:2">
                         <field name="TEXT">Iphone Bernd ist nicht im Hause!</field>
                       </block>
                     </value>
                   </block>
                 </statement>
               </block>
             </statement>
             <next>
               <block type="on_ext" id="AoE,iE7QT6rpn$I;4W2%">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                 <field name="CONDITION">ne</field>
                 <field name="ACK_CONDITION"></field>
                 <value name="OID0">
                   <shadow type="field_oid" id="PU.UOefvQw/E3/!PmRee">
                     <field name="oid">ID auswählen</field>
                   </shadow>
                   <block type="selector" id="Uav0pK%klpeuR9`mt4]I">
                     <field name="TEXT">channel[state.id=espresense.0.devices.phone_iphoneisa.*.distance]</field>
                   </block>
                 </value>
                 <statement name="STATEMENT">
                   <block type="controls_if" id="okY0L2?Wd=HE5QVL*6do">
                     <value name="IF0">
                       <block type="logic_multi_and" id="xv:3RDES97R72SQ.?KaQ">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                         <value name="AND0">
                           <block type="logic_compare" id="xVjbk=N~U%e)#hO^cZL@">
                             <field name="OP">LT</field>
                             <value name="A">
                               <block type="on_source" id="{NrWSlil@4npl$.j_h[/">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="math_number" id="J;(lR(=$rMIiSe8X^j,D">
                                 <field name="NUM">2</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="AND1">
                           <block type="logic_compare" id="2{_zEJMJ01QR@:04LZUx">
                             <field name="OP">GT</field>
                             <value name="A">
                               <block type="on_source" id="Vu4*QLN~y3y#JoPvp`w{">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="math_number" id="DyyXYk3r|e7b^G$|3~27">
                                 <field name="NUM">0</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="control" id=".!)*TvaE@ic/YD*Fq6?g">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Presence.Iphones.IphoneIsa</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="text_join" id="0w6FtiPrw`|qk%$PV?au">
                             <mutation items="4"></mutation>
                             <value name="ADD0">
                               <block type="text" id="W+G==?W1aZT}|)bcOnZ(">
                                 <field name="TEXT">Iphone Isa ist </field>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="on_source" id="tCB$+a9K`kDr7,dTNq*}">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="ADD2">
                               <block type="text" id="mB?#Jd/di6doX,on[Jw/">
                                 <field name="TEXT"> m entfernt in Raum </field>
                               </block>
                             </value>
                             <value name="ADD3">
                               <block type="on_source" id="K.Wo~XdZ%l!i74;|JB@u">
                                 <field name="ATTR">channelName</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <next>
                   <block type="on" id="K2FI:oDMnuOj?:U:7Gxa">
                     <field name="OID">espresense.0.devices.phone_iphoneisa.presense</field>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="tCuX$?z_CtB(Tx)~%1,-">
                         <value name="IF0">
                           <block type="logic_negate" id="bFYD-l(wbFqAwKv@ZPv(">
                             <value name="BOOL">
                               <block type="on_source" id="s2@#t1_9;mR|!UcesIzU">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="control" id="#?8gA]t1+`HRTObLznA+">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.Presence.Iphones.IphoneIsa</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="text" id="XH;]%A{9(`^=R(PJmf[7">
                                 <field name="TEXT">Iphone Isa ist nicht im Hause!</field>
                               </block>
                             </value>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @Neuschwansteini last edited by

        @ilovegym

        Schau mal ob sich das mit dem offenen issue auf GitHub deckt

        Neuschwansteini 1 Reply Last reply Reply Quote 0
        • Neuschwansteini
          Neuschwansteini @ticaki last edited by

          @ticaki

          ja, ist eigentlich recht einfach, ich waere ja schon mit huebschen Raumnamen zufrieden, der Rest macht das script..

          T 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @Neuschwansteini last edited by ticaki

            @ilovegym
            Bildschirmfoto 2025-01-28 um 20.21.30.png

            so was z.B.?

            Neuschwansteini 1 Reply Last reply Reply Quote 0
            • Neuschwansteini
              Neuschwansteini @ticaki last edited by

              @ticaki
              Ja super ! 👍

              T 1 Reply Last reply Reply Quote 0
              • T
                ticaki Developer @Neuschwansteini last edited by

                @ilovegym

                Datenformat hat sich geändert daher hats nicht mehr funktioniert - node:blabla heißt der raum jetzt außer er kommt als topic dann hat er kein node:...

                Egal hab noch 2 Fehler gefunden. Und baue das Konvertieren um, das ist nervig.

                1 Reply Last reply Reply Quote 1
                • T
                  ticaki Developer last edited by ticaki

                  v0.5.0

                  • (ticaki) Simple room detection integrated
                  • (ticaki) Friendly room name added to devices
                  • (ticaki) global commands now work.
                  • (ticaki) Data point var added.

                  Also wirklich sehr simple - unter rooms gibts jetzt nen Datenpunkt max_distance_iobroker. Dort pro esp eintragen was im Raum bedeuten soll - dann wird unter Device.room der presense state abhängig von der Entfernung geschaltet - in dem Fall wird auch der übergeordnete presense nur dann true, wenn einer der darunterliegenden true ist. Ohne die Einstellung (-1) bleibt alles wie gehabt.

                  Bei der Verwendung von max_distance im esp bekommt der Adapter keine Meldung wenn das Gerät den Bereich verlässt und kann daher nur auf den intenen "timeout" warten.

                  Hab auch die wlan icons an geschaltet 🙂 und ein paar roles gefixt.

                  ARGH hab vergessen das Konvertieren in die changelogs zu schreiben 😄 - da gibts jetzt einen State wo man die tatsächliche Entfernung rein schreibt und einen anderen in dem der Adapter den verwendeten Faktor anzeigt.

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

                    @ticaki

                    Danke fuer das update.. so ganz kapieren tu ich es leider nicht.. ( hab erst ein Kaffee...)

                    wo stell ich denn jetzt was genau ein? Es gibt jetzt n Sackvoll Datenpunkte, wo ich den max_distance_iobroker einstellen kann.. welche sind richtig?

                    Und.. welche sind denn die States, wo man die tatsaechliche Entfernung und welcher ist das, den der Adapter dann anzeigt?? 🙂

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer @Neuschwansteini last edited by ticaki

                      @ilovegym

                      Der Kram kommt so vom esp 🙂 Ich werfe nur noch ne Handvoll States dabei

                      Bildschirmfoto 2025-01-29 um 10.10.21.png

                      das ohne iobroker ist der filter auf dem esp - das mit iobroker ist der filter vom adapter. Der esp schickt solange positionsdaten wie er das Gerät findet und seine max distance nicht überschritten ist

                      Bildschirmfoto 2025-01-29 um 10.10.05.png

                      Die Adapter interne im Raumabstandserkennung geht mit dem state im ersten Bild und distanceConverted - distanceConverted ermittelt sich aus distance * convertFaktor.
                      convertFaktor wiederrum wird ermittelt wenn du in convert die aktuelle Entfernung vom esp zum Gerät(iphone) eintragst.

                      presense im Bild zeigt dir an ob das Gerät in diesem Raum ist.

                      das presense eine etage höher zeigt an ob irgendein gerät in irgendeinem raum ist - das schalten auf false von diesem Datenpunkt hängt mit der Zeit zusammen die man im Admin einstellt.

                      In Rooms sind die Daten die den einzelnen esp betreffen in Devices die der entdeckten Geräte. In Rooms sind einige Datenpunkte beschreibbar, damit kannst du die Einstellungen dieses Datenpunktes auf dem esp verändern.

                      Wenn du nen Vorschlag hast, wie ich das besser lösen kann, damit verständlicher wird her damit.

                      EDIT: Ich hab auch kein Problem ein Breaking zu machen, hab nur keine Idee, wie ich das anders machen soll.

                      Neuschwansteini Z 2 Replies Last reply Reply Quote 0
                      • Neuschwansteini
                        Neuschwansteini @ticaki last edited by

                        @ticaki

                        Danke, ok, kapiert, bin am testen...lass mal so.. 🙂

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @Neuschwansteini last edited by

                          @ilovegym

                          hab nur den presense eine etage höher falsch beschrieben, natürlich ist der nicht für irgendein Gerät sondern für das wo drin liegt 🙂

                          1 Reply Last reply Reply Quote 1
                          • Z
                            Zelkin @ticaki last edited by

                            @ticaki
                            Ist es auf diese art nicht evtl. möglich in mehreren Räumen gleichzeitig anwesend zu sein?
                            Wenn Ich das Richtig Verstanden habe, bist du anwesend im Raum sobald du die iobroker distance unterschreitest, somit kannst du die räume nicht überschneidend anlegen und es entstehen Tot Zonen oder doppelte Anwesenheiten?

                            Hier mal mein Blockly zur ermittlung des aufenthaltes:
                            vivaldi_azREIXBfGT.png

                            Danach Werte Ich für jeden Raum im 10 Sekunden Takt aus wenn anwesenheit gegeben ist:
                            vivaldi_EXXxPDVmmM.png

                            Dazu hab Ich die ESPs so Platziert, dass man entweder aus der distance fliegt oder eben noch zu nahe am gerät ist in jedem raum.

                            PS.: Hab 0.5.0 noch nicht im test, probier ich am WE aus 😊

                            Neuschwansteini T 2 Replies Last reply Reply Quote 0
                            • Neuschwansteini
                              Neuschwansteini @Zelkin last edited by

                              @zelkin

                              Gute Idee mit der Liste!
                              Man muss halt sebst herausfinden, in welchem Raum welcher Abstand ideal ist.. die Dinge messen hier auch teilweise durch die Decke/Waende, was wieder etwas ungluecklich ist.. 🙂 wenn sie nicht in der Mitte des Raumes platziert sind..

                              Ist wieder so ein Design/Waf problem.. ich bekomm die nicht in jede Lampe oder in die Decke in der Mitte des Raumes.. und dann messen die ja nach oben, was auch bloed ist.. wenn man im Stockwerk drueber ist.. 🙂

                              Z 1 Reply Last reply Reply Quote 0
                              • Z
                                Zelkin @Neuschwansteini last edited by

                                @ilovegym

                                Das Problem hat mich auch schon beschäftigt!
                                Ich hab es noch nicht ausprobiert, aber sollte eine wenig Alufolie bzw ein Blech über dem ESP nicht ausreichen um eine Messung nach oben zu vermeiden bzw dementsprechend zu erschweren??

                                Mein Plan ist es Irgendwann einen kleinen Zero w mit Rhasspy als Sprachassi und im Deckel der ESP mit Abschirmung nach oben für die Raumerkennung zu betreiben.
                                Das ganze mit nem net gedruckten Chassis und alles per POE
                                --> PiZero Hat mit den 3 usb anschlüssen betreibt dann sowohl die usb lautsprecher als auch den esp und den Pi Zero

                                Probeweise mit Luftverkabelung läuft das System derzeit in meinem WZ

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  ticaki Developer @Zelkin last edited by

                                  @zelkin
                                  Ja steht ja extra das es eine sehr einfach Version ist 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer @Zelkin last edited by

                                    @zelkin

                                    Ich hab da ne sehr einfach Version drin, weil eigentlich müsste mal durch Trilateration die Position bestimmen und das gegen eine Liste von "guten" Positionen abgleichen. Bei mir schwanken die Messwerte jedoch so stark, das ich nicht glaube dass das zuverlässig funktioniert.

                                    So hatte ich das ursprünglich auch geplant. Natürlich wäre es auch möglich einfach den ESP mit dem geringsten "distance / max Distance" als gewinner zu kühren, hm aber ist dass dann wirklich ein nutzvoller state... und wie soll der dann heißen 😄

                                    Neuschwansteini Z 2 Replies Last reply Reply Quote 0
                                    • Neuschwansteini
                                      Neuschwansteini @ticaki last edited by

                                      @ticaki ich glaube, das wirklich richtig genau zu machen, ist schwer, da hierzu die Delays von allen ESPs sehrklein sein muessen, auch das Polling muss schneller gehen. wenn ich mich bewege, dauert es manchmal bis zu 2-3 minuten, bis der richtige ESP mein Iphone erkennt.

                                      Ich rueste naechste Woche noch auf bis zu 26 ESP's auf, um wirklich fast ueberall einen im Raum zu haben.. dadurch wird es ja noch genauer.. 🙂

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @Neuschwansteini last edited by

                                        @ilovegym

                                        Das hört sich einerseits übertrieben und gleichzeitig interessant an 😄

                                        Wenn es sinnvolle Erweiterungsvorschläge gibt einfach raus damit, der von Zelkin ist zwar interessant, aber keine Ahnung wie ich den für jeden passend umsetzen soll.

                                        1 Reply Last reply Reply Quote 0
                                        • Z
                                          Zelkin @ticaki last edited by

                                          @ticaki
                                          Nuja, Ich hab derzeit in jedem Raum min. 1 esp
                                          Grundkonfig: in jedem Raum am Hauptaufenthaltsort (Wohzimmer Sofa, Esszimmer Esstisch, Büro Schreibtisch, .....) wird ein ESP verbaut.
                                          i.d.R bewege ich mich dann zwischen den rümen fast ausschließlich von aufenthaltsort nach aufenthaltsort.
                                          Bei der auswertung, habe ich auch mit meldung getestet wie schnell bzw. wie gut die erkennung ist! Dies war absolut ausreichend um z.B. beim verlassen meines sofas meinen plex stream automatisch zu pauseieren und ihn wieder zu starten wenn ich am Sofa ankomme ( bis Ich mich gesetzt habe, lief der Stream wieder).
                                          Erkennung ist i.d.R innerhalb der 10 Sek welche Ich in meinem Script hinterlegt habe erledigt.

                                          Datnpunkt: Room min Dist 🤷‍♂️

                                          Das Thema iss ganz klar: es ist eine Kombination zwischen Platzierung und Einstellung UND Topologie der Wohnung.

                                          Wenn mein Sofa direkt neben der Wand steht, hinter der sich mein schreibtisch befindet, kann es schwieriger werden.

                                          Mein ansatz geht halt mehr von dem Aufenthaltsort aus, weshlab ich auch den esp nicht in der mitte platzieren würde ( Lampe oder so) Eher unter dem esstisch, damit ich eine zuverlässige erkennung hab wenn ich an dem sitze. Dann kann Ich auch die Range recht klein einstellen, damit ich sie auch zuverlässig verlasse wenn ich den "Raum" Wechsle.

                                          Nur auf die art, hab Ich eine zuverlässige Erkennung geschafft ohne in mehreren räumen erkannt zu werden.

                                          Zur Erkennung nehme Ich derzeit BeaconScope auf meinem Android-Handy, da geht die Erkennung wirklich zügig.

                                          T 1 Reply Last reply Reply Quote 1
                                          • T
                                            ticaki Developer @Zelkin last edited by ticaki

                                            @zelkin

                                            Bei dem was ich eingebaut habe ging es mir vom gedanken her um dieses Beispiel.

                                            esps:
                                            A) 1 * an der Haustür
                                            B) 1-x * irgendwo in der Wohnung verteilt
                                            C) 1 * an jedem point of interesst

                                            Wenn A anschlägt betritt jemand die Wohnung

                                            Wenn B anschlägt ist jemand in der Wohnung - wenn b false war und A true - betritt jemand die Wohnung, wenn B auf true triggert dann nur mit A. Wenn A auf false geht passiert nix.

                                            Wenn C anschlägt ist jemand an einem POI

                                            Vielleicht kaufe ich mir dieses Jahr ne neue Uhr, dann kann ich das selber nutzen, aber handy ist in der ladeschale wenn ich zu hause bin 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            361
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            153
                                            10496
                                            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