Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker.homepilot Adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IoBroker.homepilot Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pix last edited by

      Nein, hätest du nicht. Habe nichts verändert.

      Du sagst ja, dass das Einschalten funktioniert, nur das Ausschalten nicht.

      Also true geht, false nicht.

      Seltsam ist ja, dass durch diese Zeile

      newcid = (input || input === 'true') ? '10' : '11'; // hier sollte bei 'false' eigentlich '11' gesetzt werden
      

      genau nach "true" gefragt wird (sowohl als boolean, als auch als Zeichenkette) und falls kein true kommt, und dazu gehört 'false' ja, dann soll die 11 gesetzt werden (für AUS).

      Mir fehlt nur diese Zeile in der Logausgabe:

      adapter.log.debug('Switch ' + deviceid + ' new status detected: ' + input + ' URL: '  + url);
      

      Deshalb bitte mal den Adapter auf DEBUG stellen (Reiter Instanzen, Expertenmodus. Logstufe) 261_bildschirmfoto_2016-06-19_um_22.03.12.jpg

      Gruß

      Pix

      1 Reply Last reply Reply Quote 0
      • P
        pustekuchen last edited by

        Ok, hier die Debug-Ausgabe nachdem ich ausgeschaltet habe:

        homepilot.0 Wrong type of data input. Please try again
        homepilot.0	2016-06-19 22:25:51.217	debug	homepilot.0 State: state device: 10006 command: 0
        homepilot.0	2016-06-19 22:25:51.216	debug	homepilot.0 input value: 0
        homepilot.0	2016-06-19 22:25:51.216	debug	homepilot.0 stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":"0","ack":false,"ts":1466367951198,"q":0,"from":"system.adapter.web.0","lc":1466367951198}
        homepilot.0	2016-06-19 22:25:51.214	debug	inMem message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state
        homepilot.0	2016-06-19 22:25:50.318	info	homepilot.0 Command sent to Homepilot because "false" written to State "homepilot.0.devices.Steckdosenaktor.10006.state"
        homepilot.0	2016-06-19 22:25:50.318	debug	homepilot.0 Switch 10006 new status detected: false URL: http://192.168.178.5/deviceajax.do?did=10006&cid=10&command=1
        homepilot.0	2016-06-19 22:25:50.317	debug	homepilot.0 State: state device: 10006 command: false
        homepilot.0	2016-06-19 22:25:50.317	debug	homepilot.0 input value: false
        homepilot.0	2016-06-19 22:25:50.317	debug	homepilot.0 stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":false,"ack":false,"ts":1466367950226,"q":0,"from":"system.adapter.web.0","lc":1466367950226}
        homepilot.0	2016-06-19 22:25:50.315	debug	inMem message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state
        homepilot.0	2016-06-19 22:25:46.005	debug	homepilot.0 Homepilot adapter started...
        homepilot.0	2016-06-19 22:25:46.005	debug	homepilot.0 Homepilot station and ioBroker synchronize every 12s
        homepilot.0	2016-06-19 22:25:46.004	debug	homepilot.0 initializing objects
        
        

        Edit: Ok, jetzt habe ich herausgefunden, dass der CID falsch ist, bei STATE false wird 10, also Einschalten benutzt anstatt 11.

        Gesendet von meinem iPad mit Tapatalk HD

        1 Reply Last reply Reply Quote 0
        • P
          pix last edited by

          Vielen Dank für die Rückmeldung. Jetzt habe ich den Fehler wohl gefunden:

          newcid = (input || input === 'true') ? '10' : '11';
          

          Input ist ja kein Typ boolean, sondern ein Typ String. Deshalb wird die obige Abfrage immer '10' ergeben, da auch der übergebene String 'false' eben ein String ist und die Variable füllt. Es wird ja nur gerpüft, ob was drin steht, erst nach dem ODER wird geprüft, obt das auch "true" ist.

          Da ich oben weiter eh schon die Regex-Abfrage für plausible Eingaben habe, konnte ich die natürlich weiter unten auch nutzen.

          if (input.search(/(true)(EIN)(AN)(ON)|([10-11])|(false)(AUS)(OFF)\b\b/gmi) != -1) { // check if "true" or "false"
                      valid = true;
                      if (input.search(/(true)(EIN)(AN)(ON)|(10)\b\b/gmi) != -1 ) newcid = '10'; 
                      if (input.search(/(false)(AUS)(OFF)|(11)\b\b/gmi) != -1 ) newcid = '11'; 
                      url = 'http://' + ip + '/deviceajax.do?did=' + deviceid + '&cid=' + newcid + '&command=1'; // switch ON / OFF
                      adapter.log.debug('Switch ' + deviceid + ' new status detected: ' + input + ' URL: '  + url);
                  } else valid = false;
          
          

          Es sind jetzt eben auch die in der https://github.com/Pix–-/ioBroker.homepilot/blob/master/README.md#command-id aufgezählten CID Anweisungen möglich (zB "AUS" oder "off" oder "EiN", wenn es sein muss 🙂 )

          Neue Version 0.0.6 mit Korrektur ist da.

          https://github.com/Pix–-/ioBroker.homepilot

          Gruß

          Pix

          1 Reply Last reply Reply Quote 0
          • P
            pustekuchen last edited by

            Nach Update kann ich jetzt nur noch an- der ausschalten, wenn ich "10" oder "11" in STATE schreibe. "true" oder "false" oder "AN" oder "AUS", gehen nicht.

            Geht nicht:

            ! ````
            homepilot.0 2016-06-20 15:11:40.520 debug homepilot.0 finished reading Homepilot Data
            homepilot.0 2016-06-20 15:11:40.518 debug homepilot.0 reading homepilot JSON ...
            TypeError: 2016-06-20 13:11:36.854 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
            TypeError: 2016-06-20 13:11:36.854 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
            TypeError: 2016-06-20 13:11:36.854 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
            TypeError: 2016-06-20 13:11:36.854 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
            TypeError: 2016-06-20 13:11:36.854 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
            TypeError: 2016-06-20 13:11:36.854 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
            TypeError: 2016-06-20 13:11:36.854 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
            TypeError: 2016-06-20 13:11:36.854 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2036:80)
            TypeError: 2016-06-20 13:11:36.854 error at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.homepilot/main.js:22:9)
            TypeError: 2016-06-20 13:11:36.854 error at controlHomepilot (/opt/iobroker/node_modules/iobroker.homepilot/main.js:166:23)
            TypeError: 2016-06-20 13:11:36.854 error Cannot read property 'warn' of undefined
            message 2016-06-20 13:11:36.836 error homepilot.0.devices.Steckdosenaktor.10006.state [object Object] Cannot read property 'warn' of undefined
            homepilot-0 2016-06-20 13:11:36.832 debug State: state device: 10006 command: true
            homepilot-0 2016-06-20 13:11:36.828 debug input value: true
            homepilot-0 2016-06-20 13:11:36.826 debug stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":true,"ack":false,"ts":1466428296807,"q":0,"from":"system.adapter.admin.0","lc":1466428296807}
            inMem 2016-06-20 13:11:36.816 debug message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state val=true, ack=false, ts=1466428296807, q=0, from=system.adapter.admin.0, lc=1466428296807
            homepilot-0 2016-06-20 13:11:28.451 debug Homepilot adapter started...
            homepilot-0 2016-06-20 13:11:28.450 debug Homepilot station and ioBroker synchronize every 12s
            homepilot-0 2016-06-20 13:11:28.446 debug initializing objects
            homepilot-0 2016-06-20 13:11:28.431 info starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.homepilot
            homepilot-0 2016-06-20 13:11:28.208 debug statesDB connected
            homepilot-0 2016-06-20 13:11:28.158 debug objectDB connected

            
            Geht schon: (mit "10")
            
            >! ````
            homepilot.0	2016-06-20 15:14:04.759	debug	homepilot.0 reading homepilot JSON ...
            homepilot-0	2016-06-20 13:14:01.388	info	Command sent to Homepilot because "10" written to State "homepilot.0.devices.Steckdosenaktor.10006.state"
            homepilot-0	2016-06-20 13:14:01.377	debug	Switch 10006 new status detected: 10 URL: http://192.168.178.5/deviceajax.do?did=10006&cid=10&command=1
            homepilot-0	2016-06-20 13:14:01.374	debug	State: state device: 10006 command: 10
            homepilot-0	2016-06-20 13:14:01.374	debug	input value: 10
            homepilot-0	2016-06-20 13:14:01.373	debug	stateChange homepilot.0.devices.Steckdosenaktor.10006.state {"val":10,"ack":false,"ts":1466428441359,"q":0,"from":"system.adapter.admin.0","lc":1466428441359}
            inMem	2016-06-20 13:14:01.370	debug	message homepilot.0.* homepilot.0.devices.Steckdosenaktor.10006.state val=10, ack=false, ts=1466428441359, q=0, from=system.adapter.admin.0, lc=1466428441359
            
            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Danke für die Rückmeldung. Tut mir leid, waren Flüchtigkeitsfehler. Hab schon einen Schreibfehler gefunden: "adapter.lo.warn"

              Ausserdem fehlte in der RegEx Abfrage wohl einige ODER :oops:

              Ich lade mal schnell eine neue Version hoch 0.0.7. 8-)

              Gruß

              Pix

              1 Reply Last reply Reply Quote 0
              • P
                pustekuchen last edited by

                @pix:

                Danke für die Rückmeldung. Tut mir leid, waren Flüchtigkeitsfehler. Hab schon einen Schreibfehler gefunden: "adapter.lo.warn"

                Ausserdem fehlte in der RegEx Abfrage wohl einige ODER :oops:

                Ich lade mal schnell eine neue Version hoch 0.0.7. 8-)

                Gruß

                Pix `
                Danke, jetzt läufts! 😉

                1 Reply Last reply Reply Quote 0
                • P
                  pustekuchen last edited by

                  Ich wollte nochmal auf die Einstellungsmöglichkeit des Manuellbetriebs der Aktoren/Rollotrons zurückkommen.

                  Wäre es möglich einen Datenpunkt "OVERALL_AUTOMATION" mit Typ boolean (true/false) für jedes Gerät einzuführen?

                  Das Setzen der Automation bzw. des Manuellbetriebs geschieht mittels folgender Anfrage:````
                  http://homepilot/deviceajax.do?automation=1&data={"did":10005,"automation":3,"state":false}

                  Dabei ist "automation:3" die Funktion, um den Manuellmodus zu aktivieren "state:true" bzw. zu deaktiveren "state:false".
                  
                  Ausgelesen werden kann der Status des Geräts mittels````
                  "statusesMap":{"Position":100,"Manuellbetrieb":0}
                  ````innerhalb der Standardabfrage von````
                  http://homepilot/deviceajax.do?devices=1
                  ````, also "Manuellbetrieb":0 für deaktiviert bzw. "Manuellbetrieb":1 für aktivert.
                  
                  Wäre vielleicht für den ein oder anderen eine sinnvolle Ergänzung! :idea:
                  
                  EDIT:
                  
                  Habe gerade eine weitere sinnvolle Ergänzung gefunden, eine Rückmeldung, ob der Aktor erreichbar ist und sich zurückmeldet. Diese Info verbirgt sich hinter der Rückmeldung auf die Abfrage mit````
                  http://homepilot/deviceajax.do?devices=1
                  ````bei````
                  "statusValid":false,
                  ````, "true", wenn der Befehl angekommen ist und das Gerät sich zurückmeldet und "false", wenn nicht. Habe es eben ausprobiert mit einer Schaltsteckdose. Gilt aber m.E. für alle Geräte.
                  
                  Damit könnte man noch einen "UNREACH"-Datenpunkt einführen.
                  1 Reply Last reply Reply Quote 0
                  • P
                    pix last edited by

                    Hallo pustekuchen,

                    die nächsten Tage wird das erstmal nix. Habe da beruflich viel zu tun.

                    Vielleicht danach. Wozu ist denn der manuelle Modus?

                    Gruß

                    Pix

                    1 Reply Last reply Reply Quote 0
                    • P
                      pustekuchen last edited by

                      Beispiel: Terrasse. Ich benutze den FDK bzw TFK der Homematic für den Fensterstatus. Ist an der Terrasse die Türe offen oder gekippt, dann geht der Rollo auf manuell und fährt abends nicht herunter, damit man sich nicht aussperrt, wenn man noch draußen sitzt. Sobald die Türe geschlossen wird, geht der Rollo wieder auf Automatik.

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Ah verstehe. Das braucht man aber nur, wenn die Steuerung /Automatik von Homepilot gemacht wird, oder?

                        Ist jedenfalls sinnvoll. Vielleicht kann ich nächste Woche was machen.

                        Gruß

                        Pix

                        Gesendet mit Tapatalk

                        1 Reply Last reply Reply Quote 0
                        • P
                          pustekuchen last edited by

                          Bei mir ist die Steuerung momentan folgendermaßen:

                          Der Homepilot übernimmt das Hoch- und Runterfahren aller Rollos z.T. per Morgen- und Abenddämmerungsautomatik. Somit steuere ich die Zeiten, die man normalerweise bei jedem Rollo eingeben muss, zentral im Homepilot. Um das zentrale Steuern nach Dämmerungsautomatik nutzen zu können, muss man aber bei den Gurtwicklern die Automatik einschalten. Das wiederum bedeutet, dass diese nach ihrer internen Uhrzeit hoch- und runterfahren wollen.

                          Ich habe nun bei allen Rollos intern die Uhrzeit zum Herunterfahren auf 8:00 Uhr gesetzt und zum Hochfahren auf 8:05 Uhr. In dieser Zeitspanne (-1/+1Min.) lasse ich vom Homepilot alle Gurtwickler auf Modus Manuell schalten. Somit "überspringe" ich sozusagen die internen Fahrzeiten der einzelnen Rollos und kann den Rest der Automation, wie Sonnensensor, Dämmerungsautomatik, Fahrzeit am Wochenende, etc. komplett über den Homepilot zentral steuern und automatisierte Szenen aktiveren und deaktiveren. Das läuft bei mir schon lange sehr stabil!

                          Die Steuerung mittels Dashui ist die Verbindung zu den Tür-Fenster-Kontakten / FDKs, welche den Manuell-Modus aktiveren, wenn mal das Fenster oder die Türe noch offen steht und natürlich noch eine zusätzliche Möglichkeit, die Rollos zu fahren.

                          Allerdings möchte ich in Zukunft komplett auf iobroker (mit zwei CCUs und Homepilot) setzen und die komplette Logik der Steuerungen in iobroker realisieren. Da es jetzt den Homepilot-Adapter gibt und iobroker immer stabiler wird, wird mich nicht mehr allzu viel davon abhalten können 😉

                          Ich bin es mittlerweile Leid, mit den Homematic-Skripten zu hantieren, vor allem wegen der 200-Variablen-Begrenzung und den damit einhergehenden Instabilitäten.

                          1 Reply Last reply Reply Quote 0
                          • P
                            pix last edited by

                            Ok, ich verstehe die Steuerung. Den Aussperrschutz kannst du natürlich auch leicht in Javascript realisieren. Beim Runterfahren wird immer erst gerprüft, ob der entsprechende Fenstersensor "offen" zeigt. Geht ja auch umgekehrt: Abends (schon dunkel) sind die Rollläden für die Nacht unten. Ich will lüften vorm Schlafen und mache nur das Fenster auf. Der Rollladen fährt automatisch hoch. 😉 Nur runter fährt er danach beim Fensterschließen nicht automatisch, das könnte ich nochmal probieren.

                            Habe bei mir auch mal zum Spaß eine Gruppe in Homepilot angelegt. Zwei Rollläden eines Zimmers in eine Gruppe. Diese Gruppe wird dann auch in der Statusabfrage

                            http://homepilot.local/deviceajax.do?devices=1
                            

                            angezeigt.

                            Die Geräte stehen alle auf manuell. Denn meine Logik liegt auch hier komplett in ioBroker. Macht ja keinen Sinn, alle Scripte und Webui-Programme von der Homematic in Javascript Skripte bzw. Adapter auf ioBroker zu übertragen und dann den Homepilot doch wieder für sich zu programmieren. Die Zeiten gebe ich in VIS (-> Javascript) ein (such mal subscribe / unsubscribe hier im Forum) und der Sonnensensor ist ein Homematic Differenztemp-Sensor.

                            Gruß

                            Pix

                            1 Reply Last reply Reply Quote 0
                            • P
                              pustekuchen last edited by

                              Mein Gedanke war, es möglichst ausfallsicher zu gestalten, indem das Rademacher System auch weiter eigenständig arbeitet, wenn mit ccuio mal was nicht stimmt.

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

                                Hallo Leute,

                                ich würde gerne wissen ob es bezüglich der Homepilot Basisstation auch eine alternative gibt. Nur damit ich die Gurtwickler steuern kann über 200€ für eine Basisstation auszugeben finde ich ganz schön happig.

                                Es gibt ja noch diesen Rademacher HomePilot USB Stick. Wisst ob es ein Projekt gibt der sich mit diesen Stick beschädigt?

                                Grüße

                                Afroasiate

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  @afroasiate:

                                  Nur damit ich die Gurtwickler steuern kann über 200€ für eine Basisstation auszugeben finde ich ganz schön happig. ` Du kannst die alte / erste Basisstation gebraucht kaufen. Habe mit der Suche nach beendeten Angeboten im Dezember bei eb** einen Homepilot für 130€ gesehen.

                                  Ich kenne niemanden, der sich mit dem Stick beschäftigt. Ich kenne auch den Stick nicht.

                                  Alternativ geht noch die Lötvariante: Homematic-Aktor (oder anderes bereits an ioBroker angeschlossenens System) an Homepilot Duofern Fernbedienung löten.

                                  Gruß

                                  Pix

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Marc1970 last edited by

                                    Hallo,

                                    ich habe da ein Problem mit meinen Rademacher Aktoren (1 u. 2-Kanal) und zwar funktioniert alles mit der Visualisierung richtig (an / aus), aber in Verbindung mit dem Cloud-Adapter und Alexa gibt es Probleme, da der Cloud Adapter true und false ausgibt und der Homepilot-Adapter darauf nicht reagiert.

                                    Kann man das trotzdem irgendwie zum Laufen bringen, z.B., das der Homepilot-Adapter auch true / false erkennt?

                                    Gruß Marc

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pix last edited by

                                      Hallo Marc,

                                      ich nutze Alexa nicht. Kann also nicht testen.

                                      Welcher Datenpunkt soll true/false sein können? Beschreibbar true/false oder reicht liefern true/false?

                                      Etwas genauer bitte

                                      Gruß

                                      Pix

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Marc1970 last edited by

                                        Hallo pix,

                                        danke für Deine Hilfe,

                                        der Datenpunkt CID sollte mit true / false beschreibbar sein, für an /aus.

                                        Und was mir noch aufgefallen ist:

                                        bei den RolloTron und Dimmern ist beim Datenpunkt LEVEL die Eingabe von 0% nicht möglich, der kleinste Wert ist 1% (Unter Eigenschaften festgelegte Werte, Min: 0%, Max: 100%), das ist bei den RolloTron nicht ganz so tragisch, bei den Dimmern schon eher, da sie dann nicht ganz aus gehen.

                                        Gruß Marc

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pix last edited by

                                          Hallo Marc,

                                          vielen Dank für Dein Feedback. 🙂

                                          @Marc1970:

                                          der Datenpunkt CID sollte mit true / false beschreibbar sein, für an /aus. `
                                          Ist erledigt. Der Datenpunkt akzeptiert nun die Eingabe von true und false. Seltsam, dass ich das nicht schon früher gebraucht habe. Jetzt kann man auch einfach mit den den VIS-Bool-Widgets die Rollläden ganz auf und ganz zu machen. Beachte: nur Kleinschreibung, also kein TRUE oder tRUe oder True. Der Befehl true wird in das CID Kommando 10 konvertiert, false zu 11.

                                          @Marc1970:

                                          bei den RolloTron und Dimmern ist beim Datenpunkt LEVEL die Eingabe von 0% nicht möglich, der kleinste Wert ist 1% (Unter Eigenschaften festgelegte Werte, Min: 0%, Max: 100%), das ist bei den RolloTron nicht ganz so tragisch, bei den Dimmern schon eher, da sie dann nicht ganz aus gehen. `
                                          Das konnte ich nicht nachvollziehen :roll: . Welchen RolloTron hast du (Duofern Nummer? Siehe hier: https://github.com/Pix---/ioBroker.home ... ed-devices)

                                          Und welchen Dimmer mit welcher Duofern Nummer? Möglicherweise wird das gerät noch nicht unterstützt und in einer Abfrage rausgeschmissen.

                                          Die RegExp-Abfragen sind schon dahingehend korrigiert worden, Zahlen von 0 bis 100 zuzulassen. Die Datenpunkte sind eh für diesen Zahlenbereich freigegeben (min: 0; max: 100).

                                          Zum Testen bitte die Version 0.2.5 von Github verwenden.

                                          Gruß

                                          Pix

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Marc1970 last edited by

                                            @Pix, vielen Dank, es funktioniert.

                                            Zu den RolloTron und Dimmern, hat sich erledigt, gestern Abend hat es mit 0 nicht funktioniert, seit heute morgen geht es aber, wieso, weshalb, warum, keine Ahnung.

                                            Gruß Marc

                                            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

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            21
                                            125
                                            17918
                                            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