Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter: Worx Landroid v2.x.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter: Worx Landroid v2.x.x

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

      Worx hat entweder ein Thema bei sich oder stellen vielleicht was um. Daher die Fehlermeldungen ignorieren und abwarten.

      Der Button worx.0.xxx.calendar.calJson_sendto funktioniert derzeit nicht. Wenn tombox Samstag oder Sonntag Zeit findet wird er mein Pull Request übernehmen.

      Gruß//Lucky

      I falke69 2 Replies Last reply Reply Quote 1
      • I
        iobroker2001 @Lucky_ESA last edited by

        @lucky_esa Gleiche bei mir, ist ein Worx-Serverproblem.

        D 1 Reply Last reply Reply Quote 0
        • D
          dbu828 last edited by

          Bei mir auch (Seit Sonntagabend 2.4 bis jetzt 7.4 ohne Probleme) und jetzt kann Ich den Worx weder per iobroker noch per App starten.
          Fehlermeldung:

          
          worx.0
          2023-04-07 18:51:25.142	debug	{"message":"Unauthorized","code":"401.000"}
          worx.0
          2023-04-07 18:43:25.344	error	"<!DOCTYPE html>\n<!--[if lt IE 7]> <html class=\"no-js ie6 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 7]> <html class=\"no-js ie7 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 8]> <html class=\"no-js ie8 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class=\"no-js\" lang=\"en-US\"> <!--<![endif]-->\n<head>\n\n\n<title>id.eu.worx.com | 504: Gateway time-out</title>\n<meta charset=\"UTF-8\" />\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\" />\n<meta name=\"robots\" content=\"noindex, nofollow\" />\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n<link rel=\"stylesheet\" id=\"cf_styles-css\" href=\"/cdn-cgi/styles/main.css\" />\n\n\n</head>\n<body>\n<div id=\"cf-wrapper\">\n\n \n\n <div id=\"cf-error-details\" class=\"p-0\">\n <header class=\"mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-8\">\n <h1 class=\"inline-block sm:block sm:mb-2 font-light text-60 lg:text-4xl text-black-dark leading-tight mr-2\">\n \n <span class=\"inline-block\">Gateway time-out</span>\n <span class=\"code-label\">Error code 504</span>\n </h1>\n <div>\n Visit <a href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" target=\"_blank\" rel=\"noopener noreferrer\">cloudflare.com</a> for more information.\n </div>\n <div class=\"mt-3\">2023-04-07 16:43:25 UTC</div>\n </header>\n \n <div class=\"my-8 bg-gradient-gray\">\n <div class=\"w-240 lg:w-full mx-auto\">\n <div class=\"clearfix md:px-8\">\n \n<div id=\"cf-browser-status\" class=\" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center\">\n <div class=\"relative mb-10 md:m-0\">\n \n <span class=\"cf-icon-browser block md:hidden h-20 bg-center bg-no-repeat\"></span>\n <span class=\"cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4\"></span>\n \n </div>\n <span class=\"md:block w-full truncate\">You</span>\n <h3 class=\"md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3\">\n \n Browser\n \n </h3>\n <span class=\"leading-1.3 text-2xl text-green-success\">Working</span>\n</div>\n\n<div id=\"cf-cloudflare-status\" class=\" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center\">\n <div class=\"relative mb-10 md:m-0\">\n <a href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n <span class=\"cf-icon-cloud block md:hidden h-20 bg-center bg-no-repeat\"></span>\n <span class=\"cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4\"></span>\n </a>\n </div>\n <span class=\"md:block w-full truncate\">Milan</span>\n <h3 class=\"md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3\">\n <a href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n Cloudflare\n </a>\n </h3>\n <span class=\"leading-1.3 text-2xl text-green-success\">Working</span>\n</div>\n\n<div id=\"cf-host-status\" class=\"cf-error-source relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center\">\n <div class=\"relative mb-10 md:m-0\">\n \n <span class=\"cf-icon-server block md:hidden h-20 bg-center bg-no-repeat\"></span>\n <span class=\"cf-icon-error w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4\"></span>\n \n </div>\n <span class=\"md:block w-full truncate\">id.eu.worx.com</span>\n <h3 class=\"md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3\">\n \n Host\n \n </h3>\n <span class=\"leading-1.3 text-2xl text-red-error\">Error</span>\n</div>\n\n </div>\n \n </div>\n </div>\n\n <div class=\"w-240 lg:w-full mx-auto mb-8 lg:px-8\">\n <div class=\"clearfix\">\n <div class=\"w-1/2 md:w-full float-left pr-6 md:pb-10 md:pr-0 leading-relaxed\">\n <h2 class=\"text-3xl font-normal leading-1.3 mb-4\">What happened?</h2>\n <p>The web server reported a gateway time-out error.</p>\n </div>\n \n <div class=\"w-1/2 md:w-full float-left leading-relaxed\">\n <h2 class=\"text-3xl font-normal leading-1.3 mb-4\">What can I do?</h2>\n <p class=\"mb-6\">Please try again in a few minutes.</p>\n </div>\n </div>\n \n </div>\n\n <div class=\"cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300\">\n <p class=\"text-13\">\n <span class=\"cf-footer-item sm:block sm:mb-1\">Cloudflare Ray ID: <strong class=\"font-semibold\">7b43b943f9babb09</strong></span>\n <span class=\"cf-footer-separator sm:hidden\">&bull;</span>\n <span id=\"cf-footer-item-ip\" class=\"cf-footer-item hidden sm:block sm:mb-1\">\n Your IP:\n <button type=\"button\" id=\"cf-footer-ip-reveal\" class=\"cf-footer-ip-reveal-btn\">Click to reveal</button>\n <span class=\"hidden\" id=\"cf-footer-ip\">178.197.249.25</span>\n <span class=\"cf-footer-separator sm:hidden\">&bull;</span>\n </span>\n <span class=\"cf-footer-item sm:block sm:mb-1\"><span>Performance &amp; security by</span> <a rel=\"noopener noreferrer\" href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" id=\"brand_link\" target=\"_blank\">Cloudflare</a></span>\n \n </p>\n <script>(function(){function d(){var b=a.getElementById(\"cf-footer-item-ip\"),c=a.getElementById(\"cf-footer-ip-reveal\");b&&\"classList\"in b&&(b.classList.remove(\"hidden\"),c.addEventListener(\"click\",function(){c.classList.add(\"hidden\");a.getElementById(\"cf-footer-ip\").classList.remove(\"hidden\")}))}var a=document;document.addEventListener&&a.addEventListener(\"DOMContentLoaded\",d)})();</script>\n</div><!-- /.error-footer -->\n\n\n </div>\n</div>\n</body>\n</html>\n\n"
          
          worx.0
          2023-04-07 18:43:25.344	error	AxiosError: Request failed with status code 504
          worx.0
          2023-04-07 18:41:25.113	info	rawMqtt receive 401 error. Refresh Token in 60 seconds
          
          worx.0
          2023-04-07 18:41:25.113	debug	{"message":"Unauthorized","code":"401.000"}
          
          1 Reply Last reply Reply Quote 0
          • D
            dbu828 @iobroker2001 last edited by dbu828

            @iobroker2001 said in Adapter: Worx Landroid v2.x.x:

            @lucky_esa Gleiche bei mir, ist ein Worx-Serverproblem.

            Ja irgendwas mit cloudflare.

            3e34e91b-c720-40c2-aa29-687b8a7cef3e-image.png

            1 Reply Last reply Reply Quote 0
            • falke69
              falke69 @Lucky_ESA last edited by

              @lucky_esa

              Habe gerade bei Facebook gesehen, dass es noch andere betrifft, die sich auch nicht mehr in der App anmelden können.
              Es liegt also nicht an dem Adapter oder iobroker.
              Im log kann man auch die Meldung sehen, dass der Dienst nicht erreichbar ist.

              1 Reply Last reply Reply Quote 0
              • T
                tombox @falke69 last edited by

                @falke69 Fehler 500 oder 504 liegen bei worx also einfach gedulden

                1 Reply Last reply Reply Quote 0
                • L
                  Lucky_ESA Developer Most Active last edited by

                  Scheint wieder zu funktionieren. Musste mich allerdings in der APP ein mal abmelden und neu anmelden.

                  Gruß//Lucky

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

                    Hallo in die Runde!
                    Gibt es das "Problem" bei anderen auch / ist es bereits bekannt?:

                    Ich habe einen M700 und in meiner View einen Hinweis eingebaut der angezeigt wird, wenn die neuste angebotene Firmware eine andere Bezeichnung hat als die bei mir installierte (also letztendlich signalisiert das, wenn es eine neue Version gibt). Dieser Hinweis wird mir seit Inbetriebnahme des Mähers nach der Winterpause vor ein paar Tagen angezeigt.
                    Wollte daher nun die neue Firmware installieren und habe dabei festgestellt, daß es gar keine neue gibt. Bei mir ist V3.28 installiert.
                    Genaueres Nachsehen ergab dann:
                    Worx_Firmware_Neu.PNG
                    Aber:
                    Worx_Firmware.PNG
                    Wo die ganzen Nachkommastellen herkommen? Keine Ahnung.
                    Witzigerweise scheinen sie auch nicht immer da zu sein, denn von Zeit zu Zeit verschwindet mein Anzeigehinweis für kurze Zeit. Leider bisher immer so kurz, daß ich es noch nicht geschafft habe, genau dann den Datenpunktwert anzusehen und einen Screenshot zu erstellen.
                    Was mir auch aufgefallen ist:
                    Der Typ der Firmwaredatenpunkte ist Zahl und nicht Zeichenkette. Ist das Absicht? Was passiert, wenn Worx eine Firmware der Form 3.28.x herausbringt?

                    falke69 1 Reply Last reply Reply Quote 0
                    • falke69
                      falke69 @Andersmacher last edited by falke69

                      @andersmacher

                      also ich habe den M500 und bei mir passt es. Ich habe aber heute gerade erst bei Facebook gesehen, das einige darüber berichten, das laut App, die installierte Firmware neuer ist, als die angebotene.
                      Ich vermute, dass es an den "Schluckauf" von gestern bei Worx zusammenhängt.
                      Vielleicht liegt es daran?
                      Bei mir ist die v2.0.3 vom Adapter installiert (zuzügl. aktuelle Änderungen von git).
                      Eventuell mal den Adapter neu starten.

                      Bei mir sind beide Datenpunkte als Zahl angegeben.

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Andersmacher @falke69 last edited by

                        @falke69 Danke für die Rückmeldung, aber daß es mit dem "Schluckauf" von gestern zu tun hat, kann ich mir nicht vorstellen, da es ja auch die Tage vorher schon so war und auch noch immer so ist. Neustart Adapter/Instanz hatte ich schon gemacht, behob das "Problem" jedoch nicht.
                        Habe auch die V2.0.3 des Adapters, jedoch ohne Git-Aktualisierungen. Da es ja kein "lebensbedrohliches Problem" ist, will ich möglichst bei "stable" bleiben.

                        Dachte nur, ich tue meine Beobachtung hier mal kund, denn wenn sowieso gerade am Adapter gebastelt wird, kann der Entwickler ja vielleicht entscheiden, ob da noch Änderungen notwendig/sinnvoll sind, auch bezüglich Datentyp.

                        1 Reply Last reply Reply Quote 0
                        • L
                          Lucky_ESA Developer Most Active last edited by

                          @nik82

                          worx.0
                          	2023-04-07 17:46:52.197	info	State value to set for "worx.0.1234.mower.firmware" has to be type "string" but received type "number"
                          

                          Kannst du bitte mal schauen was bei dir eingetragen wird.
                          worx.0.xxx.mower.firmware

                          @andersmacher

                          Wo die ganzen Nachkommastellen herkommen? Keine Ahnung. -> Gute Frage
                          Der Typ der Firmwaredatenpunkte ist Zahl und nicht Zeichenkette. Ist das Absicht? -> Ja, hatte mir tagelang Gedanken zu gemacht. Schau mal unter worx.0.xxx.mower.firmware_available_all, dort kommt so ein Format nicht vor.

                          @andersmacher

                          Kann der Entwickler ja vielleicht entscheiden, ob da noch Änderungen notwendig/sinnvoll sind, auch bezüglich Datentyp. -> Das soll eigentlich bei Number bleiben. Bitte weiter beobachten.
                          Bei mir tritt dieses Thema nicht auf.

                          Auf dem GIT ist nun der Fehler "calJson_sendto" behoben.

                          Gruß//Lucky

                          nik82 falke69 A 4 Replies Last reply Reply Quote 0
                          • nik82
                            nik82 Most Active @Lucky_ESA last edited by

                            @lucky_esa
                            Bei mir steht da 3.26 (hab noch alte Firmware).
                            Hab aber gestern schon das Object manuell auf "number" geändert, seit dem kommt die Meldung nicht mehr.

                            1 Reply Last reply Reply Quote 0
                            • falke69
                              falke69 @Lucky_ESA last edited by falke69

                              @lucky_esa

                              habe vorhin nochmal die aktuelle Version von git geladen. Beim starten kam wieder der selbe Fehler wie gestern Abend, das der Server von Worx nicht erreichbar ist. Danach neue IP auf der FritzBox geholt, Adapter neu gestartet --> alles wieder grün. 🙂

                              Dann neue Zeiten vergeben und in die worx.0.xxxxxxxxxxx.calendar.calJson_tosend eingespielt.

                              worx.0
                              	2023-04-08 16:37:57.810	info	Request Counter: 2
                              worx.0
                              	2023-04-08 16:31:01.817	info	Request Counter: 1
                              worx.0
                              	2023-04-08 16:30:49.109	info	Min Time between requests are 1000ms this commands was 46 ms is not allowed. Request worx.0.xxxxxxxxxxx.calendar.calJson_tosend with value {"m": 1,"d": [["09:00",90,1],["09:00",90,0],["09:00",90,1],["09:00",90,0],["09:00",90,0],["11:30",90,0],["09:00",90,0] ], "dd": [["16:00",90,0],["16:00",90,0],["16:00",90,1],["16:00",90,0],["16:00",90,0],["16:00",90,0],["16:40",90,0] ], "distm": 0, "p": 0 } was not sended
                              worx.0
                              	2023-04-08 16:30:35.014	info	Min Time between requests are 1000ms this commands was 5 ms is not allowed. Request worx.0.xxxxxxxxxxx.calendar.calJson_tosend with value {"m": 1,"d": [["09:00",90,0],["09:00",90,0],["09:00",90,1],["09:00",90,0],["09:00",90,0],["11:30",90,0],["09:00",90,0] ], "dd": [["16:00",90,0],["16:00",90,0],["16:00",90,1],["16:00",90,0],["16:00",90,0],["16:00",90,0],["16:40",90,0] ], "distm": 0, "p": 0 } was not sended
                              

                              Da mir der Log gesagt hatte, das es nicht gesendet wurde, wurde ein erneuter Versuch nach paar Minuten gestartet, um die Daten hochzuladen und zu übertragen.

                              Was soll ich sagen, er ist jetzt das erste Mal damit gestartet.👍

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                Lucky_ESA Developer Most Active @falke69 last edited by Lucky_ESA

                                @falke69
                                Freut mich. Bitte immer daran denken das die u. a. Datenpunkte ohne Timeout gesetzt werden müssen.
                                wochentagname/borderCut
                                wochentagname/startTime
                                wochentagname/workTime

                                Danach ein Timeout von 1,1 Sek. und worx.0.xxxxxxxxxxx.calendar.calJson_tosend auf true setzen.
                                In dieser Zeit darf natürlich nicht automatisch ein Update kommen, da die geänderten Zeiten wieder glöscht werden. Wenn das zu oft vorkommt, dann muss ich leider einen weiteren Datenpunkt hinzufügen der Updates von MQTT oder den 10 Minuten Refresh unterbindet.

                                Das gleich gilt natürlich auch für diese:
                                mower.oneTimeWithBorder
                                mower.oneTimeWorkTime

                                Und dann nach 1,1 Sek. worx.0.xxx.mower.oneTimeStart setzen.

                                Noch einige Änderungen:
                                worx.0.xxx.mower.AutoLock setzen und worx.0.xxx.mower.AutoLockTimer ist 0, wird automatisch 300 genommen.
                                Ist worx.0.xxx.mower.AutoLock false und man setzt worx.0.xxx.mower.AutoLockTimer eine neue Zeit, wird worx.0.xxx.mower.AutoLock automatisch true gesetzt.

                                Gruß//Lucky

                                falke69 I 3 Replies Last reply Reply Quote 0
                                • falke69
                                  falke69 @Lucky_ESA last edited by

                                  @lucky_esa sagte in Adapter: Worx Landroid v2.x.x:

                                  @falke69
                                  Freut mich. Bitte immer daran denken das die u. a. Datenpunkte ohne Timeout gesetzt werden müssen.
                                  wochentagname/borderCut
                                  wochentagname/startTime
                                  wochentagname/workTime

                                  Aus diesem Grund habe ich mir vorerst ein Blockly erstellt, welches dann in einem Rutsch alle Einträge der Mähzeiten aus meinen Datenpunkten direkt in der worx.0.xxxxxxxxxxx.calendar.calJson_tosend setzt.

                                  Das mit dem TimeOut schaue ich mir nchmal an. Danke für den Hinweis.

                                  M 1 Reply Last reply Reply Quote 0
                                  • I
                                    iobroker2001 @Lucky_ESA last edited by

                                    @lucky_esa sagte in Adapter: Worx Landroid v2.x.x:

                                    @falke69
                                    Freut mich. Bitte immer daran denken das die u. a. Datenpunkte ohne Timeout gesetzt werden müssen.
                                    wochentagname/borderCut
                                    wochentagname/startTime
                                    wochentagname/workTime
                                    Danach ein Timeout von 1,1 Sek. und worx.0.xxxxxxxxxxx.calendar.calJson_tosend auf true setzen.

                                    Verständnisfrage:
                                    Was meinst Du mit "Timeout", meinst Du Pause?
                                    Also: Die 3 Werte beschreiben ohne zwischendurch eine Pause einzulegen, dann aber mindestens eine Pause von 1,1 Sek, um ..._tosend auf true zu setzen?

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      Lucky_ESA Developer Most Active @iobroker2001 last edited by

                                      @iobroker2001

                                      Verständnisfrage:
                                      Was meinst Du mit "Timeout", meinst Du Pause?
                                      Also: Die 3 Werte beschreiben ohne zwischendurch eine Pause einzulegen, dann aber mindestens eine Pause von 1,1 Sek, um ..._tosend auf true zu setzen?

                                      Gneau so. Die 1,1 Sekunden dienen zur Sicherheit das alle Daten wirklich gesetzt sind. Wenn jemand am Sonntag alle 14 Zeiten für die Folgewoche setzt sind das viele Daten die erst verarbeitet werden müssen. Wie bereits gesagt kann ich ein STOPP für die Aktualisierungen hinzufügen, dann kann man sich Zeit nehmen. Das wäre dann aber einiges an Aufwand für mich da man diesen STOPP eventuell auch versehntlich setzen könnte. Dann würden keine Updates mehr kommen.

                                      Gruß//Lucky

                                      I falke69 3 Replies Last reply Reply Quote 0
                                      • I
                                        iobroker2001 @Lucky_ESA last edited by

                                        @lucky_esa Alles klar, danke, es scheint zu funktionieren!!

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          iobroker2001 @Lucky_ESA last edited by

                                          @lucky_esa sagte in Adapter: Worx Landroid v2.x.x:

                                          Wie bereits gesagt kann ich ein STOPP für die Aktualisierungen hinzufügen, dann kann man sich Zeit nehmen. Das wäre dann aber einiges an Aufwand für mich da man diesen STOPP eventuell auch versehntlich setzen könnte. Dann würden keine Updates mehr kommen.

                                          Das kann man ja gut in Blockly abfangen. 1,1 s sind ja auch nicht so lange.
                                          Bspw. könnte man eine "Belegt"-Variable setzen, die bei jedem Änderungsvorgang im Kalender gesetzt wird.
                                          Ein Timeout von 1,1 s (oder besser 1,2 s) setzt diese Belegt-Variable zurück.
                                          Bevor ein Wert geändert wird, muss die Belegt-Variable auf "nicht belegt" geprüft werden. Wenn "belegt" -> Datenpunkt nicht ändern.

                                          1 Reply Last reply Reply Quote 0
                                          • falke69
                                            falke69 @Lucky_ESA last edited by

                                            @lucky_esa

                                            wenn ich die worx.0.xxxxxxxxxxx.calendar.calJson_tosend mit einemmal direkt mit meinem Blockly fülle und dann zwei Sekunden oder mehr warte, dann kommt nur der Request Counter ohne eine "Fehlermeldung" das scheint auf jeden Fall zu funktionieren.

                                            Jetzt können wir nur hoffen, dass dies die worxcloud milde stimmt und den User nicht wieder für 24 Stunden sperrt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            759
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            121
                                            1194
                                            348850
                                            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