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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    11
    1
    74

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

[Frage] Xiaomi Vacuum cleaner

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2.2k Beiträge 204 Kommentatoren 989.6k 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.
  • MeistertrM Offline
    MeistertrM Offline
    Meistertr
    Developer
    schrieb am zuletzt editiert von
    #1168

    Ich hätte gerne beides.

    Gesendet von meinem Handy

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

      @NetFritz:

      Hallo
      ` > Um de Tocken auszulesen habe ich auf meinem OnePlus5 den Expertenmodus und das USB-Debugging aktiviert.

      Auf dem Win 8.1 und auch auf den Win 10 Rechner habe ich MiToolkit gezogen und gestartet.

      Gehe ich auf Verbindung prüfen kommt bei beiden "Es konnte kein Gerät gefunden werden".

      Auch ein Tausch der USB Ports brachte nichts.

      Das Handy wird von beiden Rechnern erkannt wenn ich den USB einstecke. `
      Habe Android 7.1.1 auf meinen OnePlus5.

      Habe es mit der Vorgängerversion von MiToolkit 1.3.3 versucht, aber das gleiche Ergebnis.

      Was kann ich machen?

      Gruß NetFritz ` Hast du es mal mit einem anderen Handy versucht? Bei manchen will es einfach nicht funktionieren. Debug Modus an und Java installiert? Die test im mihome toolkit sind alle positiv? Wo genau bricht er ab. Was für ein Fehler kommt? Öffnet sich die app auf dem Handy? Sollst du ein PW eingeben?

      Nur mir geht nicht, lässt sich der Fehler schlecht bis garnicht eingrenzen. Soweit ich weiß wurde es auf einem one vom Entwickler getestet.

      Edit. Welche mihome Version? Ggf mal eine ältere von Anfang Mai oder so installieren

      Gesendet von meinem Handy

      Edit2 hatte das erste nicht gelesen [emoji1]

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        NetFritz
        schrieb am zuletzt editiert von
        #1170

        Hallo

        danke für die Antwort.
        ` > Hast du es mal mit einem anderen Handy versucht? Bei manchen will es einfach nicht funktionieren. Debug Modus an und Java installiert? Die test im mihome toolkit sind alle positiv? Wo genau bricht er ab. Was für ein Fehler kommt? Öffnet sich die app auf dem Handy? Sollst du ein PW eingeben?

        Nur mir geht nicht, lässt sich der Fehler schlecht bis garnicht eingrenzen. Soweit ich weiß wurde es auf einem one vom Entwickler getestet.

        Edit. Welche mihome Version? Ggf mal eine ältere von Anfang Mai oder so installieren `
        Werde das mal mit dem Debug An/Aus versuchen und ein anderes Gerät ausprobieren.

        Java ist installiert.

        Wenn ich auf Verbindung in MiToolkit drücke kommt ; "Es konnte kein Gerät gefunden werden"

        Getestet mit MiToolkit 1.4 und 1.3.3

        Hatte ich aber alles vorher schon geschrieben.

        Gruß NetFritz

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

          Der Debug Modus muss auf dem Handy zwingend eingeschaltet sein, damit das programm den Zugriff erhält

          Gesendet von meinem Handy

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            NetFritz
            schrieb am zuletzt editiert von
            #1172

            Hallo

            USB Debugging ist eingeschaltet.

            Hatte ich doch schon geschrieben.

            Gruß NetFritz

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              darkbrain85
              schrieb am zuletzt editiert von
              #1173

              Kann uns das hier irgendwie weiterhelfen? Habe den link gerade spontan gefunden und noch nicht genau die ganzen Kommentare gelesen in denen es um diese Lösung geht.

              https://forum.smartapfel.de/forum/threa … /?pageNo=1

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                markus- 0
                schrieb am zuletzt editiert von
                #1174

                @darkbrain85:

                Kann uns das hier irgendwie weiterhelfen? Habe den link gerade spontan gefunden und noch nicht genau die ganzen Kommentare gelesen in denen es um diese Lösung geht.

                https://forum.smartapfel.de/forum/threa … /?pageNo=1 `
                Leider nicht. Das ist im Prinzip die ganz alte Version wie mit der Flole App.

                Das funktioniert noch wenn man eine alte Firmware drauf hat, bei den neueren wird der Token bei Einrichtung aber ja neu generiert.

                Wir haben zumindest bei iOS aktuell keine zukunftssichere Möglichkeit an den Token zu kommen. Nur über alte Versionen der App oder alte Firmware. Bis der Token bei Android auch in der DB verschlüsselt wird ist es nur noch eine Frage der Zeit.

                <size size="85">https://forum.fhem.de/index.php?topic=73052</size>

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  Alexh
                  schrieb am zuletzt editiert von
                  #1175

                  Hallo zusammen,

                  es gibt anscheinend Licht am Ende des Tunnels:

                  https://github.com/rytilahti/python-mirobo/issues/75

                  https://www.loxforum.com/forum/german/s … wlan/page6

                  Ich hoffe damit kann einer von euch etwas anfangen. Werde heute auf jeden Fall mal probieren den Token mit Python umzuwandeln.

                  Gruß

                  Alex

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

                    @Alexh:

                    Hallo zusammen,

                    es gibt anscheinend Licht am Ende des Tunnels:

                    https://github.com/rytilahti/python-mirobo/issues/75

                    https://www.loxforum.com/forum/german/s … wlan/page6

                    Ich hoffe damit kann einer von euch etwas anfangen. Werde heute auf jeden Fall mal probieren den Token mit Python umzuwandeln.

                    Gruß

                    Alex ` Werde es heute Abend in den Adapter einpflegen. Sollte ja schnell gemacht sein…

                    Gesendet von meinem Handy

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      skorpil
                      schrieb am zuletzt editiert von
                      #1177

                      Und dann?

                      Beschreibst Du dann dort das Vorgehen?

                      1 Antwort Letzte Antwort
                      0
                      • ldittmarL Offline
                        ldittmarL Offline
                        ldittmar
                        Developer
                        schrieb am zuletzt editiert von
                        #1178

                        Hallo Leute,

                        bei mir funktioniert alles prima. Bis auf die Tatsache, dass manchmal vergessen wird den Staubbehälter zu leeren. Kann man vom Sauger nicht auslesen, dass der Behälter entnommen wurde? Dann könnte ich ja darauf reagieren :)

                        Grüße,

                        ldittmar

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

                          So hab mich die letzten morgende mit der Verschlüsselung herumgeschlagen. wenn jemand mit ios dieses mal testen könnte ob die Tokenberechnung so korrekt ist wäre das super. ist jetzt erst mal ein normales Js-script und der token wird im log aussgegeben. Da mit das so noch nicht gefällt, ich aber noch nciht weiß wie ich es schöner realisieren kann baue ich es im Adapter wenn ich es eleganter gelößt habe und Rückmeldung bekommen habe, ob die Berechnung so korrekt ist.

                          var crypto = require('crypto');
                          
                          var iostoken = '16a935db276e19b1c7bef0739f2deb7d3aca43c5e26a3c6445351cb2fb8495ea0143db63ee66b0cdff9f69917680151e';
                          
                          function  convertIos   (iot){
                                  var key = new Buffer('00000000000000000000000000000000', 'hex');
                                  log("key= " + key.toString('hex'));
                                  var keystring = '00000000000000000000000000000000';
                          
                                  var ioto = new Buffer(iostoken.substr(0,64), 'hex');
                                  var iot2 = new Buffer(iostoken.substr(32,96), 'hex');
                                  log("ioto= " + ioto.toString('hex'));
                                  //return ioto;
                                  var decipher = crypto.createDecipheriv('aes-128-cbc', key,key);
                                  var decipher1 = crypto.createDecipheriv('aes-128-cbc', key,key);
                                  var dec =  decipher.update(ioto, 'binary', 'utf8') ;
                                  var dec2 =  decipher1.update(iot2, 'binary', 'utf8') ;
                                  log("dec2= " + (dec2)); 
                                  var test =""+ dec +dec2;
                                  log("Das Sollte der token sein= " + (test)); 
                          
                                  //dec += decipher.final('utf8');
                          
                                  //dec = dec.substring(0, dec.le ngth - 1);
                                  //return dec;
                              }
                          
                              convertIos("s");
                          
                          1 Antwort Letzte Antwort
                          0
                          • W Offline
                            W Offline
                            weimaraner
                            schrieb am zuletzt editiert von
                            #1180

                            Habe zwar kein ios und (leider noch) keinen Xiaomi, lese hier aber schon lange mit und bin immer wieder baff über Euer know-how und Engagement.

                            Grüße Andreas

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              skorpil
                              schrieb am zuletzt editiert von
                              #1181

                              @Meistertr:

                              So hab mich die letzten morgende mit der Verschlüsselung herumgeschlagen. wenn jemand mit ios dieses mal testen könnte ob die Tokenberechnung so korrekt ist wäre das super. ist jetzt erst mal ein normales Js-script und der token wird im log aussgegeben. Da mit das so noch nicht gefällt, ich aber noch nciht weiß wie ich es schöner realisieren kann baue ich es im Adapter wenn ich es eleganter gelößt habe und Rückmeldung bekommen habe, ob die Berechnung so korrekt ist.

                              var crypto = require('crypto');
                               
                              var iostoken = '16a935db276e19b1c7bef0739f2deb7d3aca43c5e26a3c6445351cb2fb8495ea0143db63ee66b0cdff9f69917680151e';
                               
                                
                              function  convertIos   (iot){
                                      var key = new Buffer('00000000000000000000000000000000', 'hex');
                                      log("key= " + key.toString('hex'));
                                      var keystring = '00000000000000000000000000000000';
                              
                                      var ioto = new Buffer(iostoken.substr(0,64), 'hex');
                                      var iot2 = new Buffer(iostoken.substr(32,96), 'hex');
                                      log("ioto= " + ioto.toString('hex'));
                                      //return ioto;
                                      var decipher = crypto.createDecipheriv('aes-128-cbc', key,key);
                                      var decipher1 = crypto.createDecipheriv('aes-128-cbc', key,key);
                                      var dec =  decipher.update(ioto, 'binary', 'utf8') ;
                                      var dec2 =  decipher1.update(iot2, 'binary', 'utf8') ;
                                      log("dec2= " + (dec2)); 
                                      var test =""+ dec +dec2;
                                      log("Das Sollte der token sein= " + (test)); 
                                  
                                      //dec += decipher.final('utf8');
                              
                                      //dec = dec.substring(0, dec.le ngth - 1);
                                      //return dec;
                                  }
                                  
                                  
                                  convertIos("s");
                              ```` `  
                              

                              Kann leider nicht testen, da ich nicht zu Hause bin

                              1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                Alexh
                                schrieb am zuletzt editiert von
                                #1182

                                Dumme Frage aber wo und wie muss ich den Code einfügen? Dann probiere ich mal mein Glück.

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

                                  @Meistertr:

                                  So hab mich die letzten morgende mit der Verschlüsselung herumgeschlagen. wenn jemand mit ios dieses mal testen könnte ob die Tokenberechnung so korrekt ist wäre das super. ist jetzt erst mal ein normales Js-script und der token wird im log aussgegeben. Da mit das so noch nicht gefällt, ich aber noch nciht weiß wie ich es schöner realisieren kann baue ich es im Adapter wenn ich es eleganter gelößt habe und Rückmeldung bekommen habe, ob die Berechnung so korrekt ist. `
                                  Hat funktioniert! Was mir aufgefallen ist: Die letzten 32 Hex-Zeichen (0143db63ee66b0cdff9f69917680151e) sind bei meinem verschlüsselten Token identisch, das scheint Padding zu sein. Vielleicht lässt sich so die Entschlüsselung noch vereinfachen.

                                  Edit: Der Code lässt sich vereinfachen. Der Knackpunkt ist aes-128-ecb mit leerem IV ("") und AutoPadding=false:

                                  var crypto = require('crypto');
                                  
                                  var iostoken = '3a8e3ba61b7ad24a4132d9b55fd6b9cc4c952fbe34fc0bb298d3811d07a4c3310143db63ee66b0cdff9f69917680151e';
                                  var expected = '6a66717767744f594f38714f52677a69'; // für Debug-Zwecke
                                  
                                  const key = Buffer.alloc(16, 0); // Oder new Buffer("0.....0", "hex") für alte NodeJS
                                  const iv = "";
                                  const encrypted = Buffer.from(iostoken.substr(0,64), "hex");
                                  const decipher = crypto.createDecipheriv("aes-128-ecb", key, "");
                                  decipher.setAutoPadding(false);
                                  const decrypted = decipher.update(encrypted, "binary", "ascii") /*+ decipher.final("ascii")*/;
                                  
                                  log(`decrypted = ${decrypted} | expected = ${expected} | match = ${expected===decrypted}`);
                                  

                                  Gibt bei mir aus:

                                  decrypted = 6a66717767744f594f38714f52677a69 | expected = 6a66717767744f594f38714f52677a69 | match = true
                                  

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

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

                                    @Alexh:

                                    Dumme Frage aber wo und wie muss ich den Code einfügen? Dann probiere ich mal mein Glück. `
                                    Als neues Skript im JavaScript-Adapter. Ist nur testweise und kann später gelöscht werden.

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      Alexh
                                      schrieb am zuletzt editiert von
                                      #1185

                                      @AlCalzone:

                                      @Alexh:

                                      Dumme Frage aber wo und wie muss ich den Code einfügen? Dann probiere ich mal mein Glück. Als neues Skript im JavaScript-Adapter. Ist nur testweise und kann später gelöscht werden.

                                      Dann muss ich aber von Blockly auf JavaScript umschalten oder? Aber auf Blockly komme ich dann ja nicht mehr zurück. Mit JavaScript habe ich es nämlich nicht so.

                                      Danke für die Hilfe.

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

                                        @Alexh:

                                        Dann muss ich aber von Blockly auf JavaScript umschalten oder? Aber auf Blockly komme ich dann ja nicht mehr zurück. Mit JavaScript habe ich es nämlich nicht so. `
                                        Ja, du erstellst einfach ein neues Skript, wählst dort JavaScript aus und fügst den Code ein. Brauchst du ja nicht mehr ändern (außer den 96-Zeichen Token). Wenn alles läuft, löschst du es einfach wieder, nachdem du den Token aus dem Log kopiert hast.

                                        Deine anderen Skripte bleiben davon unberührt.

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

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

                                          @AlCalzone:

                                          @Meistertr:

                                          So hab mich die letzten morgende mit der Verschlüsselung herumgeschlagen. wenn jemand mit ios dieses mal testen könnte ob die Tokenberechnung so korrekt ist wäre das super. ist jetzt erst mal ein normales Js-script und der token wird im log aussgegeben. Da mit das so noch nicht gefällt, ich aber noch nciht weiß wie ich es schöner realisieren kann baue ich es im Adapter wenn ich es eleganter gelößt habe und Rückmeldung bekommen habe, ob die Berechnung so korrekt ist. `
                                          Hat funktioniert! Was mir aufgefallen ist: Die letzten 32 Hex-Zeichen (0143db63ee66b0cdff9f69917680151e) sind bei meinem verschlüsselten Token identisch, das scheint Padding zu sein. Vielleicht lässt sich so die Entschlüsselung noch vereinfachen.

                                          Edit: Der Code lässt sich vereinfachen. Der Knackpunkt ist aes-128-ecb mit leerem IV ("") und AutoPadding=false:

                                          var crypto = require('crypto');
                                           
                                          var iostoken = '3a8e3ba61b7ad24a4132d9b55fd6b9cc4c952fbe34fc0bb298d3811d07a4c3310143db63ee66b0cdff9f69917680151e';
                                          var expected = '6a66717767744f594f38714f52677a69'; // für Debug-Zwecke
                                          
                                          const key = Buffer.alloc(16, 0); // Oder new Buffer("0.....0", "hex") für alte NodeJS
                                          const iv = "";
                                          const encrypted = Buffer.from(iostoken.substr(0,64), "hex");
                                          const decipher = crypto.createDecipheriv("aes-128-ecb", key, "");
                                          decipher.setAutoPadding(false);
                                          const decrypted = decipher.update(encrypted, "binary", "ascii") /*+ decipher.final("ascii")*/;
                                          
                                          log(`decrypted = ${decrypted} | expected = ${expected} | match = ${expected===decrypted}`);
                                          

                                          Gibt bei mir aus:

                                          decrypted = 6a66717767744f594f38714f52677a69 | expected = 6a66717767744f594f38714f52677a69 | match = true
                                          ```` `  Super danke. Darauf hatte ich gehofft, dass jemand mit Ahnung von Verschlüsselung mir sagen kann wie man es vereinfacht. Ich wusste das es geht aber nur nicht wiem danke. Dann kann ich es morgen in den Adapter übernehmen.
                                          

                                          Gesendet von meinem Handy

                                          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

                                          355

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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