Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] Xiaomi Vacuum cleaner

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Frage] Xiaomi Vacuum cleaner

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

      @meisterwerk89:

      Hi zusammen.

      Ich habe neuerdings folgendes Problem:

      Bislang hatte ich den Server immer auf "Mainland China" eingestellt.

      Den Token hatte ich zwecks Einbindung in IOBroker ebenfalls ausgelesen (über alte apk der app und mit Mitoolkit)

      Nun wurde ich in der App aber aufgefordert die neuen AGBs zu bestätigen.

      Anschließend wurden plötzlich sämtliche Geräte gelöscht.

      Das anlernen des Roboters über den Server "EU" klappte. Auch nach Bestätigung der AGBs waren der Sauger noch da.

      Der Versuch das Token über den Server "EU" auszulesen klappt dann aber leider nicht.

      So ist mir eine Einbindung in IO-Broker leider nicht möglich 😞

      Habt ihr das gleiche Problem, oder einen Lösungsvorschlag.

      MfG, Simon ` Lösche die app und installiere die aus dem link in der readme. Dann wird dir der token unter den network settings angezeigt

      https://github.com/MeisterTR/ioBroker.m … on-android

      Gesendet von meinem Handy

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

        @Meistertr:

        @meisterwerk89:

        Hi zusammen.

        Ich habe neuerdings folgendes Problem:

        Bislang hatte ich den Server immer auf "Mainland China" eingestellt.

        Den Token hatte ich zwecks Einbindung in IOBroker ebenfalls ausgelesen (über alte apk der app und mit Mitoolkit)

        Nun wurde ich in der App aber aufgefordert die neuen AGBs zu bestätigen.

        Anschließend wurden plötzlich sämtliche Geräte gelöscht.

        Das anlernen des Roboters über den Server "EU" klappte. Auch nach Bestätigung der AGBs waren der Sauger noch da.

        Der Versuch das Token über den Server "EU" auszulesen klappt dann aber leider nicht.

        So ist mir eine Einbindung in IO-Broker leider nicht möglich 😞

        Habt ihr das gleiche Problem, oder einen Lösungsvorschlag.

        MfG, Simon ` Lösche die app und installiere die aus dem link in der readme. Dann wird dir der token unter den network settings angezeigt

        https://github.com/MeisterTR/ioBroker.m … on-android

        Gesendet von meinem Handy `

        Perfekt, hat geklappt. Vielen Dank.

        mfG, Simon

        1 Reply Last reply Reply Quote 0
        • X
          Xanon last edited by

          Hallo,

          ich habe das gleiche Problem wie meisterwerk89, nur habe ich kein Android sondern Apple im Einsatz.

          Gibt es auch für Apple eine Lösung?

          Komisch ist, dass ich mich nicht unter EU anmelden kann (Ich bekomme dann keine W-Lan Verbindung aufgebaut)

          Wechsle ich auf Singapore funktioniert zwar die Verbindung mit der App und auch iobroker sagt, dass die Verbindung steht.

          Steuern kann ich aber über iobroker nicht.

          Benötige ich bzw. bekomme ich einen neuen Token, wenn ich die Region ändere?

          Habt Ihr eine Idee / Tip, was ich machen kann?

          Lieben Gruß

          Xanon

          P.S. Ich setzte den Xiaomi S5 mit der Firmware: 3.3.9_001410 ein und den Adapter mihome-vacuum Adapter V. 1.1.1

          1 Reply Last reply Reply Quote 0
          • K
            Kueppert last edited by

            Ich hab schon die Firmware 3 3.9 3194 drauf. Läuft bei mir auch zusammen mit ioBroker.

            VG Thorsten

            PS: gehe über Mainland China

            Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

              @Xanon:

              Hallo,

              ich habe das gleiche Problem wie meisterwerk89, nur habe ich kein Android sondern Apple im Einsatz.

              Gibt es auch für Apple eine Lösung?

              Komisch ist, dass ich mich nicht unter EU anmelden kann (Ich bekomme dann keine W-Lan Verbindung aufgebaut)

              Wechsle ich auf Singapore funktioniert zwar die Verbindung mit der App und auch iobroker sagt, dass die Verbindung steht.

              Steuern kann ich aber über iobroker nicht.

              Benötige ich bzw. bekomme ich einen neuen Token, wenn ich die Region ändere?

              Habt Ihr eine Idee / Tip, was ich machen kann?

              Lieben Gruß

              Xanon

              P.S. Ich setzte den Xiaomi S5 mit der Firmware: 3.3.9_001410 ein und den Adapter mihome-vacuum Adapter V. 1.1.1 ` Mit jedem Wechsel des servers muss die WLAN Verbindung neu eingegeben werden, jedes neu verbinden zieht auch eine neuen token mit sich l, der wieder neu ausgelesen werden muss

              Gesendet von meinem Handy

              1 Reply Last reply Reply Quote 0
              • X
                Xanon last edited by

                @Kueppert

                Ahh also weiterhin China. Danke

                Wie kommst du an die 3.3.9.3194 ?

                Was gibts denn da neues / besseres / an Änderungen?

                @Meistertr

                Danke für die Info.

                Dann kann ich ja lange probieren.

                Wusste nicht, dass bei jedem Server-Wechsel auch immer der Token neu ausgelesen werden muss.

                Hoffe es klappt noch mit IOS.

                Vielen Dank nochmals für Eure Unterstützung.

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

                  @Xanon:

                  @Kueppert

                  Ahh also weiterhin China. Danke

                  Wie kommst du an die 3.3.9.3194 ?

                  Was gibts denn da neues / besseres / an Änderungen?

                  @Meistertr

                  Danke für die Info.

                  Dann kann ich ja lange probieren.

                  Wusste nicht, dass bei jedem Server-Wechsel auch immer der Token neu ausgelesen werden muss.

                  Hoffe es klappt noch mit IOS.

                  Vielen Dank nochmals für Eure Unterstützung. ` Die 3194 ist der gen1 bei gen 2 ist die 1412 die aktuellste wie gesagt komm ich mit meinen gen2 nicht mehr auf China. Bin aber mit Europa zufrieden, da die Karten viel schneller geladen werden..

                  Gesendet von meinem Handy

                  1 Reply Last reply Reply Quote 0
                  • X
                    Xanon last edited by

                    @Meistertr:

                    Die 3194 ist der gen1 bei gen 2 ist die 1412 die aktuellste wie gesagt komm ich mit meinen gen2 nicht mehr auf China. Bin aber mit Europa zufrieden, da die Karten viel schneller geladen werden.. `
                    Ahh OK,

                    Bei mir sagt er, dass ich die aktuellste Version drauf habe. kann also gar nicht auf die 1412.

                    Kannst du mir vielleicht noch sagen, welchen Unterschied es zwischen den Servern gibt? Was geht, was geht nicht?

                    Hast du vielleicht eine Erklärung, warum ich NICHT auf Europa komme? (Bekomme einfach keine W-Lan Verbindung hin.

                    Würde sonst auch auf Europa wechseln, wenn ich die FW updaten kann und es keine Einschränkungen gibt.

                    Gruß

                    Xanon

                    1 Reply Last reply Reply Quote 0
                    • K
                      Knallix last edited by

                      Hallo Zusammen,

                      hat jemand schon mal versucht, während der Zonenreinigung den Roboter wieder in die HomeBase zu Schicken ?

                      Hier mein Blockly. Er reagiert hier überhaupt nicht drauf,wenn ich den Befehl GoToHome sende // Rest arbeitet er sauber ab,kehrt auch am Ende der Reinigung wieder in seine Station zurück. Bin leider auch Blockly-Anfänger 🙂 ( ST liegt mir da eher– Beckhoff )

                      Jemand eine Idee ?

                      Gruß

                      Kevin

                      Nachtrag:

                      Jetzt klappt es 🙂 // "falls Objekt" als Extra Block gesetzt.

                      7174_mi_blockly.jpg

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

                        Moin,

                        gibt es mittlerweile eine valide Vorgehensweise, dass der Roborock die Map nicht rotiert?

                        Ich habe seit gestern einen und er hat nach der ersten Reinigung eine brauchbare Map erstellt gehabt. Nachdem ich ihn dann zu einem Punkt geschickt habe, hat er die Karte rotiert und die Koordinaten waren somit natürlich auch anders.

                        Habe in dem Thread gelesen, dass man nur Zonenreinigung machen soll, damit er die Map nicht dreht. Nur er dreht sie ja schon, wenn ich ihn nur zu einem Punkt sende, was in meinem Fall schon eine wünschenswerte Funktion wäre.

                        beste Grüße

                        foxriver

                        1 Reply Last reply Reply Quote 0
                        • R
                          reini last edited by

                          @foxriver76:

                          Moin,

                          gibt es mittlerweile eine valide Vorgehensweise, dass der Roborock die Map nicht rotiert?

                          Ich habe seit gestern einen und er hat nach der ersten Reinigung eine brauchbare Map erstellt gehabt. Nachdem ich ihn dann zu einem Punkt geschickt habe, hat er die Karte rotiert und die Koordinaten waren somit natürlich auch anders.

                          Habe in dem Thread gelesen, dass man nur Zonenreinigung machen soll, damit er die Map nicht dreht. Nur er dreht sie ja schon, wenn ich ihn nur zu einem Punkt sende, was in meinem Fall schon eine wünschenswerte Funktion wäre.

                          beste Grüße

                          foxriver `

                          ja gibt es, siehe meinen Post (zuerst normale Reinigung für paar sec. starten (start vacuum, pause vacuum), danach GoTo oder direkt Zonenreinigung ausführen), funktioniert bei mir täglich seit 1,5 Monaten 😄

                          viewtopic.php?f=23&t=4898&start=1680#p147467

                          1 Reply Last reply Reply Quote 0
                          • T
                            trollmar last edited by

                            Hi,

                            als ich heute nach hause kam schlief mein "Robert" im Flur.

                            Die Bürsten waren blockiert da er etwas eingezogen hatte.

                            In welchem STATE wird das ausgegeben? Würde mir das dann gerne via Telegram Adapter schicken lassen.

                            LG

                            D 1 Reply Last reply Reply Quote 0
                            • K
                              klassisch Most Active last edited by

                              /*   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 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active last edited by

                                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);
                                
                                1 Reply Last reply Reply Quote 1
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active last edited by

                                  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); 
                                      }
                                  });
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    trollmar last edited by

                                    @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 Reply Last reply Reply Quote 0
                                    • B
                                      Brati last edited by

                                      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,});
                                      });
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        root_ last edited by

                                        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 Reply Last reply Reply Quote 0
                                        • B
                                          Brati last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            ltsalvatore last edited by

                                            @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 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

                                            484
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            204
                                            2196
                                            781765
                                            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