Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Frage] Xiaomi Vacuum cleaner

NEWS

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

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

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

[Frage] Xiaomi Vacuum cleaner

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2.2k Beiträge 204 Kommentatoren 976.4k Aufrufe 39 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    klassisch
    Most Active
    schrieb am zuletzt editiert von
    #1723
    /*   List of states
    			1 unknown state
    			2 sleep no Charge
    			3 sleep
    			5 cleaning
    			6 returning home
    			7 manual mode
    			8 charging
    			10 paused
    			11 spot cleaning
    			12 Error
    */			
    
    

    Wenn sich meiner verhakt, gibts die 12 und dann sende ich eine email mit "Help"

    1 Antwort Letzte Antwort
    0
    • bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #1724

      und das ist die Error Liste:

          var v_Error = getState('mihome-vacuum.0.info.error').val; 
          var v_Text = "";
          if (v_Error === 0) v_Text = "no Error";
          if (v_Error === 1) v_Text = "Laser distance sensor error";
          if (v_Error === 2) v_Text = "Collision sensor error";
          if (v_Error === 3) v_Text = "Wheels on top of void, move robot";
          if (v_Error === 4) v_Text = "Clean hovering sensors, move robot";
          if (v_Error === 5) v_Text = "Clean main brush";
          if (v_Error === 6) v_Text = "Clean side brush";
          if (v_Error === 7) v_Text = "Main wheel stuck?";
          if (v_Error === 8) v_Text = "Device stuck, clean area";
          if (v_Error === 9) v_Text = "Dust collector missing";
          if (v_Error === 10) v_Text = "Clean filter";
          if (v_Error === 11) v_Text = "Stuck in magnetic barrier";
          if (v_Error === 12) v_Text = "Low battery";
          if (v_Error === 13) v_Text = "Charging fault";
          if (v_Error === 14) v_Text = "Battery fault";
          if (v_Error === 15) v_Text = "Wall sensors dirty, wipe them";
          if (v_Error === 16) v_Text = "Place me on flat surface";
          if (v_Error === 17) v_Text = "Side brushes problem, reboot me";
          if (v_Error === 18) v_Text = "Suction fan problem";
          if (v_Error === 19) v_Text = "Unpowered charging station";
          setState("javascript.0.Status.Geräte.Mihome_Text_Error", v_Text);
      

      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      1
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #1725

        und hier das ganze Script inkl. telegram und Sound-Ansage:

        // Error, Text in Variable schreiben ----------------------------------------------------------------------------------------------
        
        on({id: "mihome-vacuum.0.info.error", change: "ne"}, function(obj){     
            var v_Error = getState('mihome-vacuum.0.info.error').val; 
            var v_Text = "";
            if (v_Error === 0) v_Text = "no Error";
            if (v_Error === 1) v_Text = "Laser distance sensor error";
            if (v_Error === 2) v_Text = "Collision sensor error";
            if (v_Error === 3) v_Text = "Wheels on top of void, move robot";
            if (v_Error === 4) v_Text = "Clean hovering sensors, move robot";
            if (v_Error === 5) v_Text = "Clean main brush";
            if (v_Error === 6) v_Text = "Clean side brush";
            if (v_Error === 7) v_Text = "Main wheel stuck?";
            if (v_Error === 8) v_Text = "Device stuck, clean area";
            if (v_Error === 9) v_Text = "Dust collector missing";
            if (v_Error === 10) v_Text = "Clean filter";
            if (v_Error === 11) v_Text = "Stuck in magnetic barrier";
            if (v_Error === 12) v_Text = "Low battery";
            if (v_Error === 13) v_Text = "Charging fault";
            if (v_Error === 14) v_Text = "Battery fault";
            if (v_Error === 15) v_Text = "Wall sensors dirty, wipe them";
            if (v_Error === 16) v_Text = "Place me on flat surface";
            if (v_Error === 17) v_Text = "Side brushes problem, reboot me";
            if (v_Error === 18) v_Text = "Suction fan problem";
            if (v_Error === 19) v_Text = "Unpowered charging station";
            setState("javascript.0.Status.Geräte.Mihome_Text_Error", v_Text);
        
            if (v_Error > 0) {
                log("Auslöser: Mihome Staubsauger hat Error !");
                sendTo('telegram', "Achtung, Achtung! \nDer Mihome Staubsauger hat folgenden Error:\n" + v_Text);  
                View_change ('Geraete', 0); 
                //Sound
                    var request = require ('request');
                    request('http://192.168.243.76:50000/track=tng_red_alert2.wav');  
                    setTimeout(setState('sayit.0.tts.text', "Achtung, Achtung! Der Robo Staubsauger hat Error"), 5000);
                View_change ('Titel', 30000); 
            }
        });
        
        

        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          trollmar
          schrieb am zuletzt editiert von
          #1726

          @klassisch:

          /*   List of states
          			1 unknown state
          			2 sleep no Charge
          			3 sleep
          			5 cleaning
          			6 returning home
          			7 manual mode
          			8 charging
          			10 paused
          			11 spot cleaning
          			12 Error
          */			
          
          

          Wenn sich meiner verhakt, gibts die 12 und dann sende ich eine email mit "Help" `

          Danke!!!!

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            Brati
            schrieb am zuletzt editiert von
            #1727

            Mit PushOver und verschiedenen Prioritäten so gelöst (den Error gleich auslesen hatte nicht funktioniert, weil der State nicht schnell genug wechselte, somit kommt erst "Fehler" und danach der eigentliche Fehler):

            /* Status Pushen */
            on({id: "mihome-vacuum.0.info.state"/*Vacuum state*/, change: "ne"}, function (obj) {
            
                nachricht = obj.state.val;
                prio    = -1;
                betreff = "Roborock";
                instance = 0;
                switch (nachricht) {
                    case 2:
                        nachricht = "gehe Schlafen ohne Laden!";
                        break; 
                    case 3:
                        nachricht = "gehe Schlafen!";
                        break;         
                    case 6:
                        nachricht = "Weg zur Ladestation!";
                        prio = -2;
                        break;  
                    case 8:
                        nachricht = getState("mihome-vacuum.0.info.cleanedarea"/*Cleaned area*/).val +
                                    "m² in " +
                                    getState("mihome-vacuum.0.info.cleanedtime"/*Cleaning time*/).val +
                                    "min. Ladestation erreicht!";
                        break;
                    case 12:
                        betreff = "Roborock - Error!";
                        prio = -2;
                        nachricht   = "wird ausgelesen!";
                        break;
                    case 16:
                        nachricht = "GoTo Point!";
                        prio = -2;
                        break;
                    case 17:
                        nachricht = "In Zonen Reinigung!";
                        prio = -2;
                        break; 
                    default:
                        nachricht = "Status -"  + nachricht + "- unbekannt!";
                }
            
                sendTo("pushover." + instance, {
                    message:  nachricht, // mandatory - your text message
                    title:    betreff, // optional  - your message's title, otherwise your app's name is used
                    priority: prio,});
            
            });
            
            on({id: "mihome-vacuum.0.info.error"/*Error*/, change: "ne"}, function (obj) {
                betreff = "Roborock - Error!";
                prio = 0;
                instance = 2;
            
                switch (getState("mihome-vacuum.0.info.error"/*Error*/).val) {
                                case 0:
                                nachricht = "No Error";
                                break;  
                            case 1:
                                nachricht = "Laser distance sensor error";
                                break;
                            case 2:
                                nachricht = "Collision sensor error";
                                break;
                            case 3:
                                nachricht = "Wheels on top of void, move robot";
                                break;
                            case 4:
                                nachricht = "Clean hovering sensors, move robot";
                                break;
                            case 5:
                                nachricht = "Clean main brush";
                                break;
                            case 6:
                                nachricht = "Clean side brush";
                                break;
                            case 7:
                                nachricht = "Main wheel stuck?";
                                break;
                            case 8:
                                nachricht = "Device stuck, clean area";
                                break;
                            case 9:
                                nachricht = "Dust collector missing";
                                break;
                            case 10:
                                nachricht = "Clean filter";
                                break;
                            case 11:
                                nachricht = "Stuck in magnetic barrier";
                                break;
                            case 12:
                                nachricht = "Low battery";
                                break;
                            case 13:
                                nachricht = "Charging fault";
                                break;
                            case 14:
                                nachricht = "Battery fault";
                                break;
                            case 15:
                                nachricht = "Wall sensors dirty, wipe them";
                                break;
                            case 1:
                                nachricht = "Place me on flat surface";
                                break;
                            case 1:
                                nachricht = "Side brushes problem, reboot me";
                                break;
                            case 1:
                                nachricht = "Suction fan problem";
                                break;
                            case 1:
                                nachricht = "Unpowered charging station";
                                break;
                            case 1:
                                nachricht = "Battery fault";
                                break;
                            default:
                                nachricht = "Error - Status unbekannt!";
                              }
                    sendTo("pushover." + instance, {
                    message:  nachricht, // mandatory - your text message
                    title:    betreff, // optional  - your message's title, otherwise your app's name is used
                    priority: prio,});
            });
            
            

            CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              root_
              schrieb am zuletzt editiert von
              #1728

              Ich gebe über vis und telegram aus das der Staubbehälter geleert werden soll. Das funktioniert sowert sehr gut aber die Methode gefällt mir noch nicht. Momentan gibt er alle 5x "Vacuum state=5" die Meldung aus. Da er aber auch, wenn er sich festgefahren hat und man ihn weiterschickt, wieder auf state5 geht kann es sein das man schon nach 2-3 Tagen die Meldung bekommt. Sinniger wär es zb alle 200-250qm Reinigungsfläche die Meldung auszugeben. Das bekomme ich aber nicht hin. Man müsste "mihome-vacuum.0.history.total_area" und "mihome-vacuum.0.info.cleanedarea" dazu berechnen. Irgendwie bin ich aber zu doof das umzusetzen. Hat jemand eine Idee?

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                Brati
                schrieb am zuletzt editiert von
                #1729

                ungetestet:

                createState('Roborock.DustHour', 0,{type: "number",name:"Nutzung Saugbehaelter in h",  role: "Nutzung Saugbehaelter in h"});
                
                on({id: "mihome-vacuum.0.info.cleanedarea", change: "ne"}, function (obj) {
                
                    gesamt = getState("mihome-vacuum.0.info.cleanedarea"/*Cleaned area*/).val + getState("javascript.0.Roborock.DustHour").val;    
                    setState("javascript.0.Roborock.DustHour", gesamt);
                
                    if (gesamt > 225) {
                        setState("javascript.0.Roborock.DustHour",0);
                        // und hier noch Push ergänzen    
                    }
                
                });
                

                Das sollte bei jeder Änderung des State "cleanedarea" den State "DustHour" nach oben zählen. Bis der Wert 225 erreicht ist, dann wird im if Bereich alles abgearbeitet und wieder auf 0 gesetzt.

                Grüße

                Brati

                CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  ltsalvatore
                  schrieb am zuletzt editiert von
                  #1730

                  @trollmar:

                  @klassisch:

                  /*   List of states
                  			1 unknown state
                  			2 sleep no Charge
                  			3 sleep
                  			5 cleaning
                  			6 returning home
                  			7 manual mode
                  			8 charging
                  			10 paused
                  			11 spot cleaning
                  			12 Error
                  */			
                  
                  

                  Wenn sich meiner verhakt, gibts die 12 und dann sende ich eine email mit "Help" `

                  Danke!!!! `

                  wie bekomme ich diese states im vis dargestellt..

                  das hier, scheint nicht so ganz zu funktionieren.

                  aktuell müsste der wert charging angezeigt weren, es wird jedoch unknown state angezeigt.
                  6497_screenshot_2018.06.27_16_29_41_001.jpg

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    root_
                    schrieb am zuletzt editiert von
                    #1731

                    @Brati:

                    ungetestet:

                    createState('Roborock.DustHour', 0,{type: "number",name:"Nutzung Saugbehaelter in h",  role: "Nutzung Saugbehaelter in h"});
                    
                    on({id: "mihome-vacuum.0.info.cleanedarea", change: "ne"}, function (obj) {
                        
                        gesamt = getState("mihome-vacuum.0.info.cleanedarea"/*Cleaned area*/).val + getState("javascript.0.Roborock.DustHour").val;    
                        setState("javascript.0.Roborock.DustHour", gesamt);
                        
                        if (gesamt > 225) {
                            setState("javascript.0.Roborock.DustHour",0);
                            // und hier noch Push ergänzen    
                        }
                    
                    });
                    

                    Das sollte bei jeder Änderung des State "cleanedarea" den State "DustHour" nach oben zählen. Bis der Wert 225 erreicht ist, dann wird im if Bereich alles abgearbeitet und wieder auf 0 gesetzt.

                    Grüße

                    Brati `

                    Vielen Dank. Ich werde es gleich testen. :-)

                    1 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      root_
                      schrieb am zuletzt editiert von
                      #1732

                      Funktioniert leider nicht. Er addiert so bei jeder state Änderung den Wert zu dusthour. So kommt man dann bei 17qm real auf einen Wert von über 600. Man muss den cleanedaera wert quasi auslesen (qm) und so lange addieren bis 250 erreicht ist. Eine Reinigung ergibt bei uns ca 50qm. Danach wird der Wert cleanedarea wieder auf 0 gesetzt aber der Wert von dusthour muss bei 50 bleiben und dann bei der nächsten Reinigung weiterzählen. Ist doch nicht ganz so trivial. Andere Möglichkeit wäre bei der state Änderung „Returning home“ den cleandeaera Wert zu dusthour zu addieren.

                      1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        Brati
                        schrieb am zuletzt editiert von
                        #1733

                        Ahh, stimmt er zählt ja den Wert bei der Reinigung nach oben, also wird alle 6s addiert. Das Problem ist aber, dass er Returning to Home auch annimmt, wenn er nur zu einem Punkt gefahren ist.

                        Dann müsste man addieren, wenn er in der Basis ist und der Wert sich geändert hat.

                        Ich mache mir mal Gedanken… Brauchen wir nur ein, zwei States mehr.

                        Soll der Stunden Zähler automatisch auf 0 gesetzt werden oder per vis? Ich glaube den Status "Staubbehälter entnommen" gibt es so nicht...

                        Grüße Brati

                        Von unterwegs gesendet...

                        CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          root_
                          schrieb am zuletzt editiert von
                          #1734

                          Hab jetzt mit Blocky hinbekommen :)
                          5307_sauger250qm.png

                          Nun hab ich nur noch eine Sache, wie bekomm ich in einem Objekt (Zahl) die Kommenstellen 2 stellig? Momentan sind da irgendwie 10 Stellen nach dem Komma.

                          1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von
                            #1735

                            Kenne den exakten Blockly-Aufbau nicht, aber so gehts:

                            Zahl = Runden(Zahl * 100) / 100
                            

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            1 Antwort Letzte Antwort
                            0
                            • R Offline
                              R Offline
                              root_
                              schrieb am zuletzt editiert von
                              #1736

                              Hab es hinbekommen. Mit dem Block "runden" .

                              1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                Altersrentner
                                schrieb am zuletzt editiert von
                                #1737

                                Hallo,

                                Ich bin mir unsicher ob ich hier meine Frage beantwortet bekomme,

                                oder ob ich einen neuen Betreff aufmachen soll.

                                Es geht um das auslesen des Token für den Staubsauger S5 Roborock.

                                Im ioBroker habe ich den mihome-vacuum.0 Adapter geladen.

                                Zur Konfiguration benötige ich neben der IP den Token.

                                Dazu habe ich das Mi Toolkit 1.6 auf meinen Win10 PC installiert.

                                Java ist auf dem aktuellen Stand.

                                Nach dem starten der Mi exe wird ein Backup erstell was auch entpackt wird.

                                Leider wird nur die IP angezeigt und der Token nicht.

                                im Netz habe ich die unterschiedlichsten Vorgehensweisen gefunden,

                                aber keine brachte das gewünschte Ergebnis.

                                In einem Beitrag habe ich gelesen, das sich der Token in der Datei

                                miio2.db-journal befinden soll.

                                Diese Datei habe ich gefunden nur wie wird diese geöffnet.

                                Hat jemand eine Idee?

                                Gruß Michael

                                1 Antwort Letzte Antwort
                                0
                                • umbmU Offline
                                  umbmU Offline
                                  umbm
                                  schrieb am zuletzt editiert von
                                  #1738

                                  Ich habe das gleiche Problem letzte Woche lösen müssen, und es nur auf einem Weg geschafft:

                                  Die aktuelle Mi-App vom Android deinstalliert, und eine alte Version (bei mir war es 5.0.19) vom apk-Mirror installiert.

                                  Davon dann das Backup nochmal erstellt nachdem der roborock eingebunden war und mit dem Tool den Token auslesen lassen. Nur so hat es funktioniert.

                                  Danach have ich dann wieder die aktuelle Version der Mi-App aus dem Playstore installiert.

                                  Viel Erfolg…

                                  Nachtrag:

                                  Die mui2.db lässt sich mit einem Mysql-Viewer öffnen, allerdings ist der Token dort leer und wird nicht angezeigt, wenn das Backup aus der aktuellen Mi-App erstellt wurde.

                                  1 Antwort Letzte Antwort
                                  0
                                  • MeistertrM Offline
                                    MeistertrM Offline
                                    Meistertr
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #1739

                                    @umbm:

                                    Ich habe das gleiche Problem letzte Woche lösen müssen, und es nur auf einem Weg geschafft:

                                    Die aktuelle Mi-App vom Android deinstalliert, und eine alte Version (bei mir war es 5.0.19) vom apk-Mirror installiert.

                                    Davon dann das Backup nochmal erstellt nachdem der roborock eingebunden war und mit dem Tool den Token auslesen lassen. Nur so hat es funktioniert.

                                    Danach have ich dann wieder die aktuelle Version der Mi-App aus dem Playstore installiert.

                                    Viel Erfolg…

                                    Nachtrag:

                                    Die mui2.db lässt sich mit einem Mysql-Viewer öffnen, allerdings ist der Token dort leer und wird nicht angezeigt, wenn das Backup aus der aktuellen Mi-App erstellt wurde. ` Das 3infaxhste ist es die russische Version aus der readme zu installieren, so hast du immer den token..

                                    Gesendet von meinem Handy

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      Altersrentner
                                      schrieb am zuletzt editiert von
                                      #1740

                                      Hallo,

                                      Danke für Eure Antworten.

                                      Meistertr,

                                      Könntest Du mir bitte die russisch Version zukommen lassen.

                                      Ich war gestern schon auf der russischen Seite, habe aber nichts gefunden.

                                      Danke, Gruß Michael

                                      1 Antwort Letzte Antwort
                                      0
                                      • umbmU Offline
                                        umbmU Offline
                                        umbm
                                        schrieb am zuletzt editiert von
                                        #1741

                                        Die russische Version hatte ich auch versucht, dort ließ sich der roborock nichtmal einrichten, weil immer der Server (CN Mainland) abgelehnt wurde, und so kam ich nicht in Einstellungen des vacuum, um den Token anzeigen zu lassen.

                                        Aber ohne den China-Server bekomme ich meine Aktoren nicht eingerichtet…

                                        Ziemliches Chaos irgendwie, seit die neuerdings scheinbar beim roborock auf den EU-Server bestehen und sonst den Zugriff verweigern...

                                        Noch ein Hinweis:

                                        wenn du irgendwann den Token hast, auf keinen Fall am Sauger das wifi zurücksetzen und neu verbinden, dann givt es einen neuen token....

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          Altersrentner
                                          schrieb am zuletzt editiert von
                                          #1742

                                          Hallo umbm,

                                          Danke für den Hinweis,

                                          aber es muss doch eine Möglichkeit geben.

                                          Es gibt doch hier einige, denen es gelungen ist den Token zu ermitteln.

                                          Wer hat noch eine Idee.

                                          Gruß Michael

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          568

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe