Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Park-Ampel

    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

    Park-Ampel

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

      @th16

      so genau weiß ich das auch nicht (habe nur einfache rules bis jetzt gemacht)- ich könnte nur mal morgen etwas rum-probieren - aber vielleicht meldet sich noch jemand, der mehr erfahrung mit rules hat

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

        @liv-in-sky
        Da muss ich auch erstmal passen. Am Handy klappt das sowieso nicht. Bleibe aber mit dran.

        1 Reply Last reply Reply Quote 0
        • Wal
          Wal Developer @TH16 last edited by

          @th16 ,
          zeig mal den Tasmota-Log mit den Werten des Sensors.

          T 1 Reply Last reply Reply Quote 0
          • T
            TH16 @Wal last edited by

            @wal

            meinst du das: ?

            19:43:56.456 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:43:56","SR04":{"Distance":31.7}}
            19:43:56.585 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:43:56.590 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:43:56.633 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:43:56.636 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:43:56.734 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:43:56.739 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:44:06.425 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:06","Uptime":"2T02:19:48","UptimeSec":181188,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:44:06.435 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:06","SR04":{"Distance":31.7}}
            19:44:06.565 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:44:06.570 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:44:06.665 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:44:06.670 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:44:06.716 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:44:06.721 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:44:16.447 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:16","Uptime":"2T02:19:58","UptimeSec":181198,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":84,"Signal":-58,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:44:16.457 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:16","SR04":{"Distance":31.7}}
            19:44:16.637 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:44:16.642 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:44:16.688 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:44:16.691 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:44:16.737 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:44:16.741 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:44:26.433 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:26","Uptime":"2T02:20:08","UptimeSec":181208,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":84,"Signal":-58,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:44:26.442 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:26","SR04":{"Distance":31.7}}
            19:44:26.572 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:44:26.577 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:44:26.621 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:44:26.626 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:44:26.672 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:44:26.676 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:44:36.458 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:36","Uptime":"2T02:20:18","UptimeSec":181218,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:44:36.467 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:36","SR04":{"Distance":31.7}}
            19:44:36.697 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:44:36.702 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:44:36.747 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:44:36.751 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:44:36.798 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:44:36.803 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:44:46.458 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:46","Uptime":"2T02:20:28","UptimeSec":181228,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":31,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:44:46.468 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:46","SR04":{"Distance":31.7}}
            19:44:46.746 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:44:46.752 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:44:46.797 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:44:46.802 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:44:46.847 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:44:46.852 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:44:56.412 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:56","Uptime":"2T02:20:38","UptimeSec":181238,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:44:56.421 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:56","SR04":{"Distance":31.7}}
            19:44:56.701 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:44:56.707 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:44:56.751 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:44:56.756 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:44:56.801 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:44:56.804 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            19:45:06.457 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:45:06","Uptime":"2T02:20:48","UptimeSec":181248,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:03"}}
            19:45:06.467 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:45:06","SR04":{"Distance":31.7}}
            19:45:06.647 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"}
            19:45:06.651 MQT: stat/Park-Ampel_Garage/POWER1 = OFF
            19:45:06.698 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"}
            19:45:06.703 MQT: stat/Park-Ampel_Garage/POWER2 = OFF
            19:45:06.749 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"}
            19:45:06.753 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
            
            Wal 2 Replies Last reply Reply Quote 1
            • Wal
              Wal Developer @TH16 last edited by Wal

              @th16 ,
              da gibt es schon ein script (Quelle) dafür das kannst du anpassen. Mittelwert und Temperatur brauchst du nicht.
              Du siehst wie der Sensor eingelesen wird, danach machst du ein Vergleich <> und setzt die Ausgänge direkt im Wemos.
              Wenn du dich ein wenig mit befasst kommst du schnell zu einer Lösung. Hilfe bekommst du hier. 😉
              Falls du eine Script-Firmware brauchst mach ich dir eine.

              >D
              m:Mittel1=0.0
              m:Mittel2=0.0
              m:Mittel3=0.0
              m:Mittel4=0.0
              m:Mittel5=0.0
              Weg=0.0
              Messwert=0.0
              Hoehe=119.5
              tRaum=0.0
              corf=0.0
              Inhalt=0.0
              
              >T
              Weg=SR04#Distance
              tRaum=AM2301#Temperature
              
              >W
              Messwert %Messwert%
              Inhalt %Inhalt%
              Mittel 1 %Mittel1%
              Mittel 2 %Mittel2%
              Mittel 3 %Mittel3%
              Mittel 4 %Mittel4%
              Mittel 5 %Mittel5%
              
              >S
              corf=1/((331.5+(0.6*tRaum))/2)*10000
              Messwert=(Weg+((90-Weg)*0.0195))*58.12/corf
              Mittel1=Hoehe-Messwert
              if Mittel1[0]==4
              then
              Mittel2=Mittel1
              if Mittel2[0]==4
              then
              Mittel3=Mittel2
              if Mittel3[0]==4
              then
              Mittel4=Mittel3
              if Mittel4[0]==4
              then
              Mittel5=Mittel4
              if Mittel5[0]==4
              then
              Inhalt=((Mittel5*7513)-16582)/1000
              =>publish stat/%topic%/RESULT {"Abstand":%Mittel5%}
              =>publish stat/%topic%/RESULT {"Inhalt":%Inhalt%}
              endif
              endif
              endif
              endif
              
              T 1 Reply Last reply Reply Quote 1
              • T
                TH16 @Wal last edited by

                @wal

                Oha, na das kann ja was werden... 🙄
                Da muss ich mich morgen erstmal damit einarbeiten.

                Vorerst vielen Dank und einen schönen Abend.

                Wal 1 Reply Last reply Reply Quote 0
                • Wal
                  Wal Developer @TH16 last edited by Wal

                  @th16 ,
                  habe gerade Lust, werde mal ein Script vorbereiten.

                  Edit: @th16 ,
                  mal was schnelles, ohne Gewähr da ich das nicht testen kann. 😉

                  >D
                  Weg=0.0
                   
                  >E
                  Weg=SR04#Distance
                  if (Weg<250 and Weg>130)
                  then =>power1 1
                  else =>power1 0
                  endif
                  if (Weg<150 and Weg>50)
                  then =>power2 1
                  else =>power2 0
                  endif
                  if (Weg<60 and Weg>35)
                  then =>power3 1
                  else =>power3 0
                  endif 
                  if (Weg<99 and Weg>1)
                  then =>publish stat/%topic%/RESULT {"AutoInGarage":"True"}
                  else =>publish stat/%topic%/RESULT {"AutoInGarage":"False"}
                  endif 
                  
                  >S
                  =>publish stat/%topic%/RESULT {"Abstand":%Weg%}
                  
                  >W
                  Abstand:{m} %1Weg% cm
                  
                  T 2 Replies Last reply Reply Quote 1
                  • T
                    TH16 @Wal last edited by TH16

                    @wal

                    Vielen herzlichen Dank für Deine Mühe! 👍
                    Da ich mit sowas noch nie zu tun hatte und ich, wie schon erwähnt, alles nur in Blockly mache - wie bekomme ich das Alles in den Wemos rein?
                    Über die Konsole, jede Zeile einzeln, oder zusammen?
                    Oder ganz anders...?
                    Sorry das ich Dich nerve, aber könntest Du mir da noch einen Tipp geben?
                    Ich möchte da auch ungern was kaputt machen.

                    Wal 1 Reply Last reply Reply Quote 0
                    • Wal
                      Wal Developer @TH16 last edited by Wal

                      @th16 ,
                      du musst nur eine Tasmota Firmware mit Script flashen, danach den Script-Editor aufrufen und das Script einfügen.
                      Den Editor findest du im Menüpunkt Konsole.
                      Screenshot 2023-04-01 215326.png

                      Evtl. mit einem anderen Wemos testen ?

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        TH16 @Wal last edited by TH16

                        @wal
                        "Tasmota Firmware mit Script flashen"? 😮
                        Was ist "mit Script flashen"?
                        Ich flashe immer mit dem ESP-Flasher. Der hat zwar unten auch eine Konsole drin, aber dort kann man nichts reinschreiben, nur auslesen. Zur Verwendung mit dem o.g. Sensor habe ich die "Tasmota-Sensor-Version" benutzt, so wie es von Tasmota vorgesehen ist.
                        Bei Deiner Konsole sehe ich oben angehakt "Skript aktivieren". So einen Punkt gibt es bei mir nicht.
                        Ist mir auch noch nie aufgefallen. Wie komme ich dahin? Wie kann ich das aktivieren?
                        So sieht es bei mir aus:
                        96bea049-ccb8-496b-9e33-1b374dcb24bd-image.png

                        Wal 1 Reply Last reply Reply Quote 0
                        • Wal
                          Wal Developer @TH16 last edited by Wal

                          @th16 sagte in Park-Ampel:

                          Bei Deiner Konsole sehe ich oben angehakt "Skript aktivieren". So einen Punkt gibt es bei mir nicht.

                          Weil du keine Firmware mit Scriptunterstützung geflasht hast.
                          Hier findest du eine.

                          Mit diesem Skript bekommst du jede Sekunde den Abstand und kannst dein Blockly weiter nutzen.
                          Es muss nur der Datenpunkt im Blockly geändert werden, da das Abstandsobjekt einen anderen Namen hat.

                          >D
                          Weg=0.0
                           
                          >E
                          Weg=SR04#Distance
                           
                          >S
                          =>publish stat/%topic%/RESULT {"Abstand":%Weg%}
                           
                          >W
                          Abstand:{m} %1Weg% cm
                          
                          T 2 Replies Last reply Reply Quote 1
                          • T
                            TH16 @Wal last edited by

                            @wal
                            Vielen Dank!
                            Werde ich gleich alles mal ausprobieren.

                            1 Reply Last reply Reply Quote 0
                            • T
                              TH16 @Wal last edited by

                              @wal
                              Ich habe mir die "tasmota-scripting.bin" runtergeladen, geflasht und Dein Script eingefügt - so weit so gut.
                              Nun wollte ich den Sensor SR04 auswählen, doch den gibt es ja nur in einem Sensor.bin.
                              f04a5791-6aaa-44a8-a0e8-7c4b0f018a2c-image.png
                              Also bräuchte ich entweder eine scripting.bin wo der Sensor mit drin ist, oder eine sensor.bin wo ich auch ein Script einlesen kann.
                              Doch wo hernehmen? Kannst Du mir da weiterhelfen?

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

                                @th16 ich habe mal ein paar tests gemacht

                                dazu eine rule:

                                rule1 ON SR04#distance<100  DO  backlog publish tele/sonoff/Distance %value%; var1 %value%  ENDON
                                

                                ich habe aber festgestellt, das der sensor mit tasmota eher langsam reagiert - mit der rule wird unter 100 sofort gesendet - es dauert - so finde ich - aber immer noch zu lange - vorallem, wenn ich mir vorstelle, das die letzten centimeter beim einparken wirklich schnell kommen müssen

                                ich habe auch mit einem anderen sensor gemessen (VL53L0X) - der ist auch nicht schneller - ich gehe davon aus, dass es an tasmota liegt

                                siehst du hier - ich bewege mich zum sensor hin- schneller wird nicht gesendet:

                                script-vis30.gif

                                ich denke, du solltest es mal mit esphome versuchen - ist am anfang etwas kompliziert aber ich verwende mittlerweile lieber esphome für sensoren

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

                                  @liv-in-sky
                                  Vielen Dank für Deine Mühe.
                                  Habe soeben mal Deine Rule eingesetzt und ausprobiert - ist wirklich langsam - eigentlich gefühlt keine Änderung zu vorher. 😞
                                  Es wird wohl darauf hinauslaufen, dass es eine "Direktverbindung" innerhalb des Wemos mit den Anzeige-LEDs in Zusammenspiel mit dem Sensor gibt, so wie es @Wal schon oben in seinem Script dargelegt hat.
                                  Doch dazu brauche ich erstmal eine andere "bin" die den Sensor enthält und auch die Möglichkeit bietet ein Skript einzulesen.

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

                                    @th16 sagte in Park-Ampel:

                                    eine sensor.bin wo ich auch ein Script einlesen kann

                                    Ich erstelle eine, ein Augenblick.

                                    1 Reply Last reply Reply Quote 0
                                    • Wal
                                      Wal Developer last edited by

                                      @TH16 .
                                      firmware.bin.gz

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

                                        @th16
                                        hast du in der rule auch dein topic richtig drin - mach mal lieber diese rule rein

                                        rule1 ON SR04#distance<100  DO  backlog publish tele/%topic%/Distance %value%; var1 %value%  ENDON
                                        
                                        1 Reply Last reply Reply Quote 1
                                        • T
                                          TH16 @Wal last edited by

                                          @wal

                                          @wal sagte in Park-Ampel:

                                          @th16 ,
                                          habe gerade Lust, werde mal ein Script vorbereiten.

                                          Edit: @th16 ,
                                          mal was schnelles, ohne Gewähr da ich das nicht testen kann. 😉

                                          >D
                                          Weg=0.0
                                           
                                          >E
                                          Weg=SR04#Distance
                                          if (Weg<250 and Weg>130)
                                          then =>power1 1
                                          else =>power1 0
                                          endif
                                          if (Weg<150 and Weg>50)
                                          then =>power2 1
                                          else =>power2 0
                                          endif
                                          if (Weg<60 and Weg>35)
                                          then =>power3 1
                                          else =>power3 0
                                          endif 
                                          if (Weg<99 and Weg>1)
                                          then =>publish stat/%topic%/RESULT {"AutoInGarage":"True"}
                                          else =>publish stat/%topic%/RESULT {"AutoInGarage":"False"}
                                          endif 
                                          
                                          >S
                                          =>publish stat/%topic%/RESULT {"Abstand":%Weg%}
                                          
                                          >W
                                          Abstand:{m} %1Weg% cm
                                          

                                          Die neue bin, die Du mir geschickt hast, hat super funktioniert.
                                          Ich konnte den Sensor auswählen und auch Dein Skript, siehe oben, einspielen.
                                          Nur leider tut sich bei den LEDs nichts.
                                          Ich nehme mal an, dass es daran liegt, dass er den Sensor nun doppelt angezeigt bekommt, siehe hier:
                                          cb95afa1-9bbd-4e55-9fac-17e760ed152f-image.png
                                          Einmal als "SR04" mit einem Sensorwert und einmal als "Abstand" ohne Wert (aus Deinem Skript vermute ich).

                                          Wal 1 Reply Last reply Reply Quote 0
                                          • Wal
                                            Wal Developer @TH16 last edited by Wal

                                            @th16 ,
                                            zeig nochmal einen Log bitte.

                                            Edit: vorher bitte "Weblog 4" in die Konsole eingeben und den Log in Code Tags setzen, keine Bildschirmkopie.

                                            T 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

                                            882
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            55
                                            3441
                                            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