Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. TESTER: Neuer Adapter Webuntis

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

TESTER: Neuer Adapter Webuntis

Scheduled Pinned Locked Moved Tester
192 Posts 48 Posters 37.8k Views 42 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O Offline
    O Offline
    oxident
    wrote on last edited by oxident
    #11

    Super Adapter, vielen Dank! Hat auch auf Anhieb geklappt.

    Ein paar Vorschläge hätte ich:

    • Wäre gut, wenn der Adapter Beginn und Ende der Schulzeit ermitteln könnte. Also quasi einfach nur früheste Startzeit und späteste Endzeit.

    • Vielleicht könnte man alles nach aktuellem Tag und den Folgetag gliedern. Also quasi als oberste Ebene der DP "current" und "1d" oder "nextday" verwenden. Schwierig wird da ggf. noch das Handling von Wochenenden und Ferien.

    • Da ja derzeit wohl überall oft Ausfälle sind wäre es toll, wenn der Adapter gleich auch pro Tag die Anzahl der ausgefallenen Stunden zählen könnte. Dann kann man direkt darauf triggern, dass heute (oder morgen) etwas ausfällt. In der API wäre das beim Attribut "code" der Wert "cancelled".

    • Parallel dazu könnte man so auch Vertretungsunterricht (oder Distanzlernen) abfangen. Die entsprechenden "codes" kenne ich zwar nicht, aber man könnte generell, wenn bei einer Schulstunde ein "code" <> "cancelled" vorhanden ist einen Zähler (z. B. "exceptions") inkrementieren. Dann weiß man, dass an diesem Tag irgendwas "komisch" ist ;-)

    NewanN 1 Reply Last reply
    0
    • O oxident

      Super Adapter, vielen Dank! Hat auch auf Anhieb geklappt.

      Ein paar Vorschläge hätte ich:

      • Wäre gut, wenn der Adapter Beginn und Ende der Schulzeit ermitteln könnte. Also quasi einfach nur früheste Startzeit und späteste Endzeit.

      • Vielleicht könnte man alles nach aktuellem Tag und den Folgetag gliedern. Also quasi als oberste Ebene der DP "current" und "1d" oder "nextday" verwenden. Schwierig wird da ggf. noch das Handling von Wochenenden und Ferien.

      • Da ja derzeit wohl überall oft Ausfälle sind wäre es toll, wenn der Adapter gleich auch pro Tag die Anzahl der ausgefallenen Stunden zählen könnte. Dann kann man direkt darauf triggern, dass heute (oder morgen) etwas ausfällt. In der API wäre das beim Attribut "code" der Wert "cancelled".

      • Parallel dazu könnte man so auch Vertretungsunterricht (oder Distanzlernen) abfangen. Die entsprechenden "codes" kenne ich zwar nicht, aber man könnte generell, wenn bei einer Schulstunde ein "code" <> "cancelled" vorhanden ist einen Zähler (z. B. "exceptions") inkrementieren. Dann weiß man, dass an diesem Tag irgendwas "komisch" ist ;-)

      NewanN Offline
      NewanN Offline
      Newan
      wrote on last edited by
      #12

      @oxident Super Ideen, schaue ich mir die Tage gerne an. Das mit dem "code" hab ich noch gar nicht gesehen. Wenn ihr sowas habt. Würde ich über den Debug-Log freuen damit ich das Json mal analysieren kann.

      O 1 Reply Last reply
      0
      • S Offline
        S Offline
        Seamen
        wrote on last edited by
        #13

        Sehr gute idee! werde ich mir definitiv anschauen!

        1 Reply Last reply
        0
        • NewanN Newan

          @oxident Super Ideen, schaue ich mir die Tage gerne an. Das mit dem "code" hab ich noch gar nicht gesehen. Wenn ihr sowas habt. Würde ich über den Debug-Log freuen damit ich das Json mal analysieren kann.

          O Offline
          O Offline
          oxident
          wrote on last edited by
          #14

          @newan Gesagt, getan. Musste ja nicht lange auf den nächsten Ausfall warten ;-)

          [
          	{
          		"id": 123,
          		"date": 20220126,
          		"startTime": 1120,
          		"endTime": 1240,
          		"code": "irregular",
          		"kl": [
          			{
          				"id": 123,
          				"name": "7e",
          				"longname": "LEHRER"
          			}
          		],
          		"te": [
          			{
          				"id": 123,
          				"name": "XXX",
          				"longname": "LEHRER"
          			}
          		],
          		"su": [
          			{
          				"id": 123,
          				"name": "En",
          				"longname": "Englisch"
          			}
          		],
          		"ro": [
          			{
          				"id": 123,
          				"name": "E1.02",
          				"longname": "Klassenraum XX",
          				"orgid": 99,
          				"orgname": "TU3"
          			}
          		],
          		"lsnumber": 123,
          		"sg": "Sp_7e"
          	},
          	{
          		"id": 123,
          		"date": 20220126,
          		"startTime": 1120,
          		"endTime": 1240,
          		"code": "cancelled",
          		"kl": [
          			{
          				"id": 123,
          				"name": "7e",
          				"longname": "LEHRER"
          			}
          		],
          		"te": [
          			{
          				"id": 123,
          				"name": "XXX",
          				"longname": "LEHRER"
          			}
          		],
          		"su": [
          			{
          				"id": 123,
          				"name": "Sp",
          				"longname": "Sport"
          			}
          		],
          		"ro": [
          			{
          				"id": 123,
          				"name": "TU3",
          				"longname": "Turnhalle 3"
          			}
          		],
          		"lsnumber": 123,
          		"sg": "Sp_7e",
          		"activityType": "Unterricht"
          	},
          	{
          		"id": 123,
          		"date": 20220126,
          		"startTime": 1340,
          		"endTime": 1500,
          		"kl": [
          			{
          				"id": 123,
          				"name": "7e",
          				"longname": "LEHRER"
          			}
          		],
          		"te": [
          			{
          				"id": 123,
          				"name": "LEHRER",
          				"longname": "LEHRER",
          				"orgid": 123,
          				"orgname": "VOIM"
          			}
          		],
          		"su": [
          			{
          				"id": 123,
          				"name": "LeZ",
          				"longname": "Lernzeit"
          			}
          		],
          		"ro": [
          			{
          				"id": 123,
          				"name": "XXX",
          				"longname": "Klassenraum 7e"
          			}
          		],
          		"lsnumber": 123,
          		"sg": "LeZ_7e",
          		"activityType": "Unterricht"
          	},
          	{
          		"id": 123,
          		"date": 20220126,
          		"startTime": 800,
          		"endTime": 920,
          		"code": "cancelled",
          		"kl": [
          			{
          				"id": 123,
          				"name": "7d",
          				"longname": "LEHRER"
          			},
          			{
          				"id": 356,
          				"name": "7e",
          				"longname": "LEHRER"
          			},
          			{
          				"id": 361,
          				"name": "7f",
          				"longname": "LEHRER"
          			}
          		],
          		"te": [
          			{
          				"id": 123,
          				"name": "LEHRER",
          				"longname": "LEHRER"
          			}
          		],
          		"su": [
          			{
          				"id": 123,
          				"name": "Reli",
          				"longname": "Religion"
          			}
          		],
          		"ro": [
          			{
          				"id": 123,
          				"name": "XXX",
          				"longname": "Klassenraum 10a"
          			}
          		],
          		"lsnumber": 123,
          		"sg": "Reli_123",
          		"activityType": "Unterricht"
          	},
          	{
          		"id": 123,
          		"date": 20220126,
          		"startTime": 945,
          		"endTime": 1105,
          		"kl": [
          			{
          				"id": 123,
          				"name": "7e",
          				"longname": "LEHRER"
          			}
          		],
          		"te": [
          			{
          				"id": 123,
          				"name": "LEHRER",
          				"longname": "LEHRER"
          			},
          			{
          				"id": 123,
          				"name": "LEHRER",
          				"longname": "LEHRER",
          				"orgid": 123,
          				"orgname": "VOIM"
          			}
          		],
          		"su": [
          			{
          				"id": 123,
          				"name": "LeZ Klassenrat",
          				"longname": "Lernzeit Klassenrat"
          			}
          		],
          		"ro": [
          			{
          				"id": 123,
          				"name": "XXX",
          				"longname": "Klassenraum 7e"
          			}
          		],
          		"lsnumber": 123,
          		"sg": "LeZKlassenrat_7e",
          		"activityType": "Unterricht"
          	}
          ]
          

          Ich denke mal, die generelle Struktur kennst Du ja sicherlich ;-)
          Interessant ist an dieser Stelle, dass zwei Stunden ausfallen ("code": "cancelled") und eine Stunde Vertretung ist (vermute ich mal) -> "code": "irregular".

          NewanN 1 Reply Last reply
          0
          • O oxident

            @newan Gesagt, getan. Musste ja nicht lange auf den nächsten Ausfall warten ;-)

            [
            	{
            		"id": 123,
            		"date": 20220126,
            		"startTime": 1120,
            		"endTime": 1240,
            		"code": "irregular",
            		"kl": [
            			{
            				"id": 123,
            				"name": "7e",
            				"longname": "LEHRER"
            			}
            		],
            		"te": [
            			{
            				"id": 123,
            				"name": "XXX",
            				"longname": "LEHRER"
            			}
            		],
            		"su": [
            			{
            				"id": 123,
            				"name": "En",
            				"longname": "Englisch"
            			}
            		],
            		"ro": [
            			{
            				"id": 123,
            				"name": "E1.02",
            				"longname": "Klassenraum XX",
            				"orgid": 99,
            				"orgname": "TU3"
            			}
            		],
            		"lsnumber": 123,
            		"sg": "Sp_7e"
            	},
            	{
            		"id": 123,
            		"date": 20220126,
            		"startTime": 1120,
            		"endTime": 1240,
            		"code": "cancelled",
            		"kl": [
            			{
            				"id": 123,
            				"name": "7e",
            				"longname": "LEHRER"
            			}
            		],
            		"te": [
            			{
            				"id": 123,
            				"name": "XXX",
            				"longname": "LEHRER"
            			}
            		],
            		"su": [
            			{
            				"id": 123,
            				"name": "Sp",
            				"longname": "Sport"
            			}
            		],
            		"ro": [
            			{
            				"id": 123,
            				"name": "TU3",
            				"longname": "Turnhalle 3"
            			}
            		],
            		"lsnumber": 123,
            		"sg": "Sp_7e",
            		"activityType": "Unterricht"
            	},
            	{
            		"id": 123,
            		"date": 20220126,
            		"startTime": 1340,
            		"endTime": 1500,
            		"kl": [
            			{
            				"id": 123,
            				"name": "7e",
            				"longname": "LEHRER"
            			}
            		],
            		"te": [
            			{
            				"id": 123,
            				"name": "LEHRER",
            				"longname": "LEHRER",
            				"orgid": 123,
            				"orgname": "VOIM"
            			}
            		],
            		"su": [
            			{
            				"id": 123,
            				"name": "LeZ",
            				"longname": "Lernzeit"
            			}
            		],
            		"ro": [
            			{
            				"id": 123,
            				"name": "XXX",
            				"longname": "Klassenraum 7e"
            			}
            		],
            		"lsnumber": 123,
            		"sg": "LeZ_7e",
            		"activityType": "Unterricht"
            	},
            	{
            		"id": 123,
            		"date": 20220126,
            		"startTime": 800,
            		"endTime": 920,
            		"code": "cancelled",
            		"kl": [
            			{
            				"id": 123,
            				"name": "7d",
            				"longname": "LEHRER"
            			},
            			{
            				"id": 356,
            				"name": "7e",
            				"longname": "LEHRER"
            			},
            			{
            				"id": 361,
            				"name": "7f",
            				"longname": "LEHRER"
            			}
            		],
            		"te": [
            			{
            				"id": 123,
            				"name": "LEHRER",
            				"longname": "LEHRER"
            			}
            		],
            		"su": [
            			{
            				"id": 123,
            				"name": "Reli",
            				"longname": "Religion"
            			}
            		],
            		"ro": [
            			{
            				"id": 123,
            				"name": "XXX",
            				"longname": "Klassenraum 10a"
            			}
            		],
            		"lsnumber": 123,
            		"sg": "Reli_123",
            		"activityType": "Unterricht"
            	},
            	{
            		"id": 123,
            		"date": 20220126,
            		"startTime": 945,
            		"endTime": 1105,
            		"kl": [
            			{
            				"id": 123,
            				"name": "7e",
            				"longname": "LEHRER"
            			}
            		],
            		"te": [
            			{
            				"id": 123,
            				"name": "LEHRER",
            				"longname": "LEHRER"
            			},
            			{
            				"id": 123,
            				"name": "LEHRER",
            				"longname": "LEHRER",
            				"orgid": 123,
            				"orgname": "VOIM"
            			}
            		],
            		"su": [
            			{
            				"id": 123,
            				"name": "LeZ Klassenrat",
            				"longname": "Lernzeit Klassenrat"
            			}
            		],
            		"ro": [
            			{
            				"id": 123,
            				"name": "XXX",
            				"longname": "Klassenraum 7e"
            			}
            		],
            		"lsnumber": 123,
            		"sg": "LeZKlassenrat_7e",
            		"activityType": "Unterricht"
            	}
            ]
            

            Ich denke mal, die generelle Struktur kennst Du ja sicherlich ;-)
            Interessant ist an dieser Stelle, dass zwei Stunden ausfallen ("code": "cancelled") und eine Stunde Vertretung ist (vermute ich mal) -> "code": "irregular".

            NewanN Offline
            NewanN Offline
            Newan
            wrote on last edited by
            #15

            @oxident Mega!
            Ja das bauen wir ein. "irregular" ist schon amüsant.

            1 Reply Last reply
            0
            • NewanN Offline
              NewanN Offline
              Newan
              wrote on last edited by
              #16

              @ldittmar sagte in TESTER: Neuer Adapter Webuntis:

              Das sollte ggf. in die Konfig-Seite rein.

              -> Done, habe einen Link zur späteren Anleitung eingebunden. Muss nur einer ne Anleitung schreiben. AM besten per md-Datei auf github im Repo.

              @oxident:

              Vielleicht könnte man alles nach aktuellem Tag und den Folgetag gliedern. Also quasi als oberste Ebene der DP "current" und "1d" oder "nextday" verwenden. Schwierig wird da ggf. noch das Handling von Wochenenden und Ferien.

              Folgende Logik ist aktiv: Wenn die Funktion getOwnTimetableForToday null zurückgibt, gehe ich von Wochenende aus. Dann wird nextBusinessDay gesucht und dann abgefragt. Wenn dann auch leer ist Ferien und die Datenpunkte bleiben leer bzw. werden entfernt.
              -> wäre das für die Anleitung
              Habe jetzt einfch 0 und 1 gemacht als Index. Problem ist das ja wie oben nicht immer current zieht und mir keine passende Namen eingefallen sind. Es wird aber das ausgelesene Datum angegeben.

              Parallel dazu könnte man so auch Vertretungsunterricht (oder Distanzlernen) abfangen. Die entsprechenden "codes" kenne ich zwar nicht, aber man könnte generell, wenn bei einer Schulstunde ein "code" <> "cancelled" vorhanden ist einen Zähler (z. B. "exceptions") inkrementieren. Dann weiß man, dass an diesem Tag irgendwas "komisch" ist 😉

              Das ist wie folgt gelöst. In der Stunde wird angezeigt ob "Vertretung" oder ausfällt. AM tag wir mit exception angezeigt ob was komisch oder nicht ist. Schaut mal ob das so nutzbar und praktikabel ist. Auch hier wäre ein Eintrag in der Anleitung hilfreich

              1 Reply Last reply
              0
              • NewanN Offline
                NewanN Offline
                Newan
                wrote on last edited by
                #17

                Update online, happy testing

                E 1 Reply Last reply
                0
                • NewanN Newan

                  Update online, happy testing

                  E Offline
                  E Offline
                  elektrickser.de
                  wrote on last edited by
                  #18

                  @newan ich hab gesteren nen Fork gezogen und mit der Readme für Github begonnen.

                  Sollte ich diese auf English machen oder in Deutsch halten?

                  Ich bin noch neu mit VScode und Git und deswegen klappts mit dem Pullrequest noch nicht so. eventuell schiebe ich dir die dann per Github hoch.

                  NewanN E 2 Replies Last reply
                  0
                  • E elektrickser.de

                    @newan ich hab gesteren nen Fork gezogen und mit der Readme für Github begonnen.

                    Sollte ich diese auf English machen oder in Deutsch halten?

                    Ich bin noch neu mit VScode und Git und deswegen klappts mit dem Pullrequest noch nicht so. eventuell schiebe ich dir die dann per Github hoch.

                    NewanN Offline
                    NewanN Offline
                    Newan
                    wrote on last edited by
                    #19

                    @elektrickser-de Am besten beides :-)

                    Pull ist denkbar einfach. In deinem Fork einfach nen commit machen und dann in github auf der Webseite einen PR stellen, Rest geht vom system quasi alleine.

                    1 Reply Last reply
                    0
                    • E elektrickser.de

                      @newan ich hab gesteren nen Fork gezogen und mit der Readme für Github begonnen.

                      Sollte ich diese auf English machen oder in Deutsch halten?

                      Ich bin noch neu mit VScode und Git und deswegen klappts mit dem Pullrequest noch nicht so. eventuell schiebe ich dir die dann per Github hoch.

                      E Offline
                      E Offline
                      elektrickser.de
                      wrote on last edited by
                      #20

                      @Newan

                      ich finde jetzt erstmal diesen Request interesant:

                      (async) getTimetableForRange(rangeStart, rangeEnd, id, type, validateSessionopt) → {Promise.<Array>}
                      
                      Get the timetable for a given Date range for specific element
                      
                      E 1 Reply Last reply
                      0
                      • E elektrickser.de

                        @Newan

                        ich finde jetzt erstmal diesen Request interesant:

                        (async) getTimetableForRange(rangeStart, rangeEnd, id, type, validateSessionopt) → {Promise.<Array>}
                        
                        Get the timetable for a given Date range for specific element
                        
                        E Offline
                        E Offline
                        elektrickser.de
                        wrote on last edited by
                        #21

                        @Newan

                        weitere interesannte Abfragen:

                        Hausaufgaben:

                        
                        (async) getHomeWorksFor(rangeStart, rangeEnd, validateSessionopt) → {Promise.<Array>}
                        
                        Source:
                        
                                index.js, line 383 
                        
                        Parameters:
                        Name 	Type 	Attributes 	Default 	Description
                        rangeStart 	Date 			
                        rangeEnd 	Date 			
                        validateSession 	boolean 	<optional>
                        	true 	
                        Returns:
                        
                        Type:
                            Promise.<Array> 
                        
                        
                        

                        Stundenplan für einen Datumbereich, z.b. immer für die aktuelle Woche oder immer für die nächsten 7 Tage

                        
                        (async) getOwnTimetableForRange(rangeStart, rangeEnd, validateSessionopt) → {Promise.<Array>}
                        
                        Get your own timetable for a given Date range Note: You can't use this with anonymous login
                        
                        Source:
                        
                                index.js, line 316 
                        
                        Parameters:
                        Name 	Type 	Attributes 	Default 	Description
                        rangeStart 	Date 			
                        rangeEnd 	Date 			
                        validateSession 	Boolean 	<optional>
                        	true 	
                        Returns:
                        
                        Type:
                            Promise.<Array> 
                        
                        
                        
                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          Seamen
                          wrote on last edited by
                          #22

                          Hi,
                          ich habe den Adapter zum testen installiert. Leider bekomme ich immer folgende Fehlermeldung:

                          webuntis.0	2022-01-26 13:23:24.768	error	Login WebUntis failed
                          webuntis.0	2022-01-26 13:23:24.767	error	Error: Failed to login. {"jsonrpc":"2.0","id":"error","error":{"message":"invalid schoolname","code":-8500}}
                          

                          Die Schule heißt Gymnasium+Loxstedt, dies habe ich in der config bei "School secret" eingetragen. Ist das so korrekt?

                          Gruß
                          Malte

                          A 1 Reply Last reply
                          0
                          • NewanN Offline
                            NewanN Offline
                            Newan
                            wrote on last edited by
                            #23

                            @seamen

                            school: Gymnasium+Loxstedt
                            baseUrl: kephiso.webuntis.com

                            S O 2 Replies Last reply
                            0
                            • NewanN Newan

                              @seamen

                              school: Gymnasium+Loxstedt
                              baseUrl: kephiso.webuntis.com

                              S Offline
                              S Offline
                              Seamen
                              wrote on last edited by
                              #24

                              @newan
                              Das habe ich genau so drin.

                              NewanN 1 Reply Last reply
                              0
                              • S Seamen

                                @newan
                                Das habe ich genau so drin.

                                NewanN Offline
                                NewanN Offline
                                Newan
                                wrote on last edited by
                                #25

                                @seamen Gerne kannst du mir den Login per PN senden und ich schaue mal.

                                1 Reply Last reply
                                0
                                • NewanN Newan

                                  @seamen

                                  school: Gymnasium+Loxstedt
                                  baseUrl: kephiso.webuntis.com

                                  O Offline
                                  O Offline
                                  oxident
                                  wrote on last edited by oxident
                                  #26

                                  @Seamen Also bei mir (andere Schule) war es ein Leerzeichen anstelle +

                                  NewanN S 2 Replies Last reply
                                  0
                                  • O oxident

                                    @Seamen Also bei mir (andere Schule) war es ein Leerzeichen anstelle +

                                    NewanN Offline
                                    NewanN Offline
                                    Newan
                                    wrote on last edited by
                                    #27

                                    @oxident danke, der Tipp hilft. Bitte in der Anleitung aufnehmen @elektrickser-de

                                    1 Reply Last reply
                                    0
                                    • NewanN Offline
                                      NewanN Offline
                                      Newan
                                      wrote on last edited by
                                      #28

                                      @elektrickser-de Anleitung:

                                      Feld code: regular = "Unterricht normal"; irregular = "Unterricht in vertrettung (so zumindest derzeit die Vermutung); canceld = " Stunde fällt aus"

                                      1 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        J.M
                                        wrote on last edited by
                                        #29

                                        Guten Abend. Habe mir auch diesen Adapter gewünscht. Leider stellt unsere Schule keine Login Daten zur Verfügung so das wir uns als Anonymous anmelden. Wäre es möglich dies einzubauen?

                                        NewanN 1 Reply Last reply
                                        0
                                        • J J.M

                                          Guten Abend. Habe mir auch diesen Adapter gewünscht. Leider stellt unsere Schule keine Login Daten zur Verfügung so das wir uns als Anonymous anmelden. Wäre es möglich dies einzubauen?

                                          NewanN Offline
                                          NewanN Offline
                                          Newan
                                          wrote on last edited by
                                          #30

                                          @j-m Kannst du mir ein wenig mehr berichten wie das geht? wie heißt die Schule und welche Daten findet man dann da?

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          783

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe