NEWS
[Frage] Xiaomi Vacuum cleaner
-
Jup, dein Staubsauger kommuniziert (warum auch immer) nicht mit dem Adapter. `
So. Er spricht immer noch nicht mit mir. Hostname funktioniert bei mir gar nicht. Ich bin also nun absolut ratlos, was ich noch probieren soll.
Was ich allerdings gerade beobachtet habe durch Eingabe des Hostnamens:
Als ich den eingegeben hatte, wurde der Adapter gelb und wurde erst wieder grün, als ich ihm die IP wieder verpasst hatte.
Dann habe ich am Sauger die IP nochmal geändert und der Adapter wurde wieder gelb und erst wieder grün, nachdem er die richtige IP bekommen hatte. Also irgendwie scheint der Adapter ja dann doch mit dem Sauger in Interaktion zu stehen.
Aber was kann es nur sein, dass ich ihn nicht ansprechen kann? Das ist so frustrierend.
-
Jup, dein Staubsauger kommuniziert (warum auch immer) nicht mit dem Adapter. `
So. Er spricht immer noch nicht mit mir. Hostname funktioniert bei mir gar nicht. Ich bin also nun absolut ratlos, was ich noch probieren soll.
Was ich allerdings gerade beobachtet habe durch Eingabe des Hostnamens:
Als ich den eingegeben hatte, wurde der Adapter gelb und wurde erst wieder grün, als ich ihm die IP wieder verpasst hatte.
Dann habe ich am Sauger die IP nochmal geändert und der Adapter wurde wieder gelb und erst wieder grün, nachdem er die richtige IP bekommen hatte. Also irgendwie scheint der Adapter ja dann doch mit dem Sauger in Interaktion zu stehen.
Aber was kann es nur sein, dass ich ihn nicht ansprechen kann? Das ist so frustrierend. ` Stelle den Adapter mal auf Debug und poste mal einen log Auszug. Ja der Sauger antwortet auf die Anfrage vom Adapter. Kann die vom Adapter gesendeten Daten jedoch nicht verarbeiten Ursache wie gesagt token oder die Nachrichten werden irgendwo geblockt. Aber poste mal den log und dann schau ich mir das mal an
Gesendet von meinem Handy
-
Schätze das wurde noch nicht auf NPM veröffentlicht. Probier mal die GitHub-Version. `
Hat leider nichts gebracht. Im Log wird weiter fleißig gemeldet ob verbunden oder nicht.
2622_bildschirmfoto_2017-11-02_um_22.21.46.png -
Schätze das wurde noch nicht auf NPM veröffentlicht. Probier mal die GitHub-Version. `
Hat leider nichts gebracht. Im Log wird weiter fleißig gemeldet ob verbunden oder nicht. `
Das ist nicht die aktuelle Version von Git, da ist das auf jeden Fall ausgeschaltet.
So werden die Gitversionen installiert:
-
Hast du die Instanz danach neu gestartet?
-
Das habe ich was falsch verstanden gehabt. 0.59 ist nun drauf und alles ist gut
Danke!!!!!!!
-
Stelle den Adapter mal auf Debug und poste mal einen log Auszug. Ja der Sauger antwortet auf die Anfrage vom Adapter. Kann die vom Adapter gesendeten Daten jedoch nicht verarbeiten Ursache wie gesagt token oder die Nachrichten werden irgendwo geblockt. Aber poste mal den log und dann schau ich mir das mal an
Gesendet von meinem Handy `
Vielen Dank für Deine Bereitschaft. Leider komme ich erst heute dazu. Die Familie forderte auch ein wenig Tribut.
Hier die Auszüge vom Log. Ich hoffe, damit kann man was anfangen. Den Token habe ich mal ausgegraut, Keine Ahnung, ob Du den sehen musst, dann sag nochmal Bescheid.
Was ich hier allerdings direkt sagen kann, es ist nicht der 32stellige Token, der mir von externen Umrechnern als Ergebnis auf meinen 96stelligen Token aus iOS genannt wird.
Was bedeutet "Token detected: 48"? Heißt das, dass er nur 48 Stellen von meinen 96 Stellen erkennt?
Vielen Dank schonmal im Voraus.
-
Stelle den Adapter mal auf Debug und poste mal einen log Auszug. Ja der Sauger antwortet auf die Anfrage vom Adapter. Kann die vom Adapter gesendeten Daten jedoch nicht verarbeiten Ursache wie gesagt token oder die Nachrichten werden irgendwo geblockt. Aber poste mal den log und dann schau ich mir das mal an
Gesendet von meinem Handy `
Vielen Dank für Deine Bereitschaft. Leider komme ich erst heute dazu. Die Familie forderte auch ein wenig Tribut.
Hier die Auszüge vom Log. Ich hoffe, damit kann man was anfangen. Den Token habe ich mal ausgegraut, Keine Ahnung, ob Du den sehen musst, dann sag nochmal Bescheid.
Was ich hier allerdings direkt sagen kann, es ist nicht der 32stellige Token, der mir von externen Umrechnern als Ergebnis auf meinen 96stelligen Token aus iOS genannt wird.
Was bedeutet "Token detected: 48"? Heißt das, dass er nur 48 Stellen von meinen 96 Stellen erkennt?
Bildschirmfoto 2017-11-05 um 14.23.33.png
Bildschirmfoto 2017-11-05 um 14.22.55.png
Vielen Dank schonmal im Voraus. `
sieht alles soweit normal aus,versuch mal bitte das hier über url zu instzallieren und schicke noch mal einen log
https://github.com/MeisterTR/ioBroker.mihome-vacuum
und 48 Byte sind 96char
also passt das.
-
versuch mal bitte das hier über url zu instzallieren und schicke noch mal einen log `
Hab ich gemacht und hier ist der Auszug vom Log. Wie gesagt, ich weiß nicht, was relevant ist. Wenn also mehr Infos benötigt werden, einfach Bescheid sagen. Sauger macht aber immer noch nichts
-
versuch mal bitte das hier über url zu instzallieren und schicke noch mal einen log `
Hab ich gemacht und hier ist der Auszug vom Log. Wie gesagt, ich weiß nicht, was relevant ist. Wenn also mehr Infos benötigt werden, einfach Bescheid sagen. Sauger macht aber immer noch nichts
Bildschirmfoto 2017-11-05 um 18.59.32.png `
ja das reicht schon aus, war ein schuss ins blaue hat nix gebracht… Hast du die möglichkeit den token mit einem Android auszulesen? das wäre nun so ziemlich mein letzter gedanke. -
Hast du die möglichkeit den token mit einem Android auszulesen? das wäre nun so ziemlich mein letzter gedanke. `
Ui. Das wird etwas schwierig. Ich bin ein 100%iger "Obsthändler".Ich habe allerdings ein etwas älteres Netbook, auf dem Android läuft. Allerdings weiß ich nicht, welche Version und ob das da überhaupt geht.
Ich versuche es mal. Scheint ja wirklich die letzte Möglichkeit zu sein.
-
Nun bin ich gänzlich verwirrt.
Ich habe versucht, mein Android-Netbook zu reanimieren, jedoch gelingt mir das nicht.
Dann habe ich mal von meinem iPhone in der Mi-App den Sauger entfernt, am Sauger Home und Start gleichzeitig gedrückt und ihn damit wieder als Device zur App hinzugefügt.
App funktioniert auch problemlos mit allen Kommandos.
Backup gemacht, den Token nach Anleitung ausgelesen und siehe da, es ist ein anderer. Aber warum? Das dürfte nach meinem Verständnis nicht sein. Es wurde kein Update gemacht, sondern lediglich die WLAN-Verbindung neu eingerichtet.
Nichts desto trotz habe ich den Token in den Adapter eingetragen, jedoch auch mit diesem gibt der Sauger keinen Mux von sich, wenn ich über ioBroker mit ihm kommunizieren will.
Das Ganze kam mir dann allerdings doch etwas komisch vor.
Nochmal zur Erklärung: Ich habe mit der Mi-App auf einem iPhone 6s begonnen den Token auszulesen.
Als am Freitag mein neues iPhone X kam, hab ich das Backup von 6s ins iPhone X eingespielt und konnte damit ebenso den Sauger steuern. Noch völlig ohne Änderungen an der WLAN-Verbindung.
Den Token habe ich dann allerdings am iPhone X nicht ausgelesen, bevor ich den Sauger neu ins WLAN eingebunden habe.
Erst danach habe ich ein neues unverschlüsseltes Backup vom iPhone X gemacht und diesen neuen Token erhalten.
Jetzt kommst aber: Ich habe noch ein iPad Mini, auf dem die Mi App ebenfalls läuft. An diesem Gerät habe ich keinerlei Änderungen durchgeführt und der Sauger lässt sich damit auch wunderbar bedienen. Er musste allerdings einmal neu eingelesen werden.
Jetzt habe ich gerade vom iPad ein Backup gemacht und den Token hierüber ausgelesen, weil ich wissen wollte, ob das Neuverbinden vom Sauger mit dem WLAN der Grund für die Tokenänderung war.
Aber Pustekuchen. Der Token vom iPad ist mein ursprünglicher Token, den ich auch bereits aus dem iPhone 6s ausgelesen hatte.
Der Token sollte doch im Gerät gespeichert, sowie eindeutig und dazu unabhängig vom Gerät sein, auf dem die App läuft, oder?
Jetzt habe ich zwei Token auf zwei Geräten, mit denen der Sauger wunderbar ansprechbar ist, nur keiner der Token funktioniert in ioBroker.
Stützt das eventuell die These, dass ich über iOS einen "falschen", bzw. einen für ioBroker unbrauchbaren Token bekomme?
Ich bin auch sicher, dass ich mich penibel an die Anleitung für iOS gehalten habe.
Gibt es neben Android noch eine Möglichkeit den Token über macOS oder notfalls Windows 10 auszulesen?
Das könnte ich am ehesten über Bootcamp noch eben installieren. An ein Android-Gerät komme ich nicht ran, ausser ich geh mir morgen eins kaufen.
Bevor ich das allerdings mache, stampfe ich die Sprachsteuerung vom Sauger lieber ein.
-
Zum Thema, wann wird Token gewechselt:
Der Token wird bei dem Vaccum neu gesetzt, wenn der Roboter der Cloud hinzugefügt wird.
mehrwiedu hat bei Löschen des Roboters den Roboter nicht nur aus der App entfernt, sondern ihn auch aus der Cloud entfernt. Hätte er vor dem erneuen anlernen das Alternativ-Gerät geprüft, so hätte er festgestellt, dass es dort auch entfernt wurde. Die Apps beziehen die Daten jedesmal aus der Cloud. Dies gilt auch für die Tokens. Daher konnte mehrwiedu auch nach Änderung des Tokens den Robo von beiden Geräten aus steuern.
-
Die Apps beziehen die Daten jedesmal aus der Cloud. Dies gilt auch für die Tokens. Daher konnte mehrwiedu auch nach Änderung des Tokens den Robo von beiden Geräten aus steuern. `
Nachdem ich den Sauger der iPad App wieder hinzugefügt habe, bzw. hat die App nach Aufrufen das selbstständig gemacht, habe ich das Backup angelegt und der Token blieb identisch.Ich habe soeben den gleichen Prozess noch einmal durchgeführt.
Am iPhone den Sauger aus der App entfernt. Hierzu die App geöffnet, den Sauger ausgewählt, so dass ich die Übersichtskarte sehe, auf die drei Punkte oben rechts in der Ecke, general settings und dort delete device.
Anschliessend die App geschlossen, am Sauger Home und Start gleichzeitig gedrückt, bis die blaue LED blinkt, die App geöffnet, ein Device hinzugefügt, Sauger ausgewählt, WLAN-Verbindung eingetragen, Namen geändert und somit eingebunden.
Wieder ans iPad, die App geöffnet, den Sauger ausgewählt, er wurde automatisch eingelesen und lässt sich nun von beiden Devices aus steuern.
Also wieder ein Backup von iPad und iPhone gemacht und Token ausgelesen.
iPad unverändert immer noch der "Ursprungstoken", den ich bereits mit dem iPhone 6s vor Tagen ausgelesen habe und am iPhone X erneut ein neuer Token. Jetzt habe ich also aus 2 Apps insgesamt 3 Token, wobei die App am iPhone X mit allen drei Token funktionierte und aktuell funktioniert und die App am iPad immer noch mit dem "Ursprungstoken" arbeitet.
Und zur Krönung habe ich mein altes iPhone 6s grade wieder angemacht, die App geöffnet, den Sauger ausgewählt, er wurde eingelesen und funktioniert auch dort immer noch. Rate, was für ein Token im aktuellen Backup vom 6s noch drin ist.
Um das auf die Spitze zu treiben, kann ich ja am iPad den Sauger mal aus der App werfen und ihn auch dort wieder neu einbinden. Dann bekomme ich den 4. Token und habe dann drei iOS Geräte mit jeweils einem differenten Token in der App und alle drei werden funktionieren.
Wenn also jetzt der Token in der App ein alter ist und von einem Token aus der Cloud abgelöst wird, kriege ich doch nie den richtigen Token aus einem Backup, wenn der nicht auch wenigstens in der App überschrieben wird. Und wenn der dritte Token, den ich nun am iPhone X auslesen kann, auch der ist, der in der Cloud hängt, warum funktioniert der nicht im Adapter?
Für mich ist das alles eher unlogisch und ich bin mir aus dieser Situation "vermeintlich" sicher, dass ich den wirklich für den Adapter relevanten Token nicht aus einem iOS Device auslesen kann.
-
Die Apps beziehen die Daten jedesmal aus der Cloud. Dies gilt auch für die Tokens. Daher konnte mehrwiedu auch nach Änderung des Tokens den Robo von beiden Geräten aus steuern. `
Nachdem ich den Sauger der iPad App wieder hinzugefügt habe, bzw. hat die App nach Aufrufen das selbstständig gemacht, habe ich das Backup angelegt und der Token blieb identisch.Ich habe soeben den gleichen Prozess noch einmal durchgeführt.
Am iPhone den Sauger aus der App entfernt. Hierzu die App geöffnet, den Sauger ausgewählt, so dass ich die Übersichtskarte sehe, auf die drei Punkte oben rechts in der Ecke, general settings und dort delete device.
Anschliessend die App geschlossen, am Sauger Home und Start gleichzeitig gedrückt, bis die blaue LED blinkt, die App geöffnet, ein Device hinzugefügt, Sauger ausgewählt, WLAN-Verbindung eingetragen, Namen geändert und somit eingebunden.
Wieder ans iPad, die App geöffnet, den Sauger ausgewählt, er wurde automatisch eingelesen und lässt sich nun von beiden Devices aus steuern.
Also wieder ein Backup von iPad und iPhone gemacht und Token ausgelesen.
iPad unverändert immer noch der "Ursprungstoken", den ich bereits mit dem iPhone 6s vor Tagen ausgelesen habe und am iPhone X erneut ein neuer Token. Jetzt habe ich also aus 2 Apps insgesamt 3 Token, wobei die App am iPhone X mit allen drei Token funktionierte und aktuell funktioniert und die App am iPad immer noch mit dem "Ursprungstoken" arbeitet.
Und zur Krönung habe ich mein altes iPhone 6s grade wieder angemacht, die App geöffnet, den Sauger ausgewählt, er wurde eingelesen und funktioniert auch dort immer noch. Rate, was für ein Token im aktuellen Backup vom 6s noch drin ist.
Um das auf die Spitze zu treiben, kann ich ja am iPad den Sauger mal aus der App werfen und ihn auch dort wieder neu einbinden. Dann bekomme ich den 4. Token und habe dann drei iOS Geräte mit jeweils einem differenten Token in der App und alle drei werden funktionieren.
Wenn also jetzt der Token in der App ein alter ist und von einem Token aus der Cloud abgelöst wird, kriege ich doch nie den richtigen Token aus einem Backup, wenn der nicht auch wenigstens in der App überschrieben wird. Und wenn der dritte Token, den ich nun am iPhone X auslesen kann, auch der ist, der in der Cloud hängt, warum funktioniert der nicht im Adapter?
Für mich ist das alles eher unlogisch und ich bin mir aus dieser Situation "vermeintlich" sicher, dass ich den wirklich für den Adapter relevanten Token nicht aus einem iOS Device auslesen kann. `
Das ist tatsächlich sehr merkwürdig. ich gehe davon aus dass du die neuste Version der Mi-app installiert hast? hast du die Möglichkeit eine ältere Version zu installieren? Da gab es ja vor ein paar Wochen ein Update der app. Bin leider kein Apfelanhänger und kann da leider wenig zu sagen. Ausschließen will ich nicht, dass Xiaomi wiedermal was geändert hat. Könntest du mir deine verschieden Token per pn zukommen lassen, will sie mir mal genauer Anschauen (Mit dem token kann man ohne den Sauger nix anfangen) .
Android Kaufen nur für token ist ein bisschen übertrieben. Aber vll nen kumpel zum Kaffee einladen und kurz das Handy ausleihen. Alternativ kannst du mir mit dem token auch deine App zugangsdaten "Ausleihen" PW kann man ja danach wider ändern und ich lese zusätzlich den token über android aus.
-
Vielen Dank. Ich habe Dir mal eine PN gesendet.
-
Vielen Dank nochmals an Meistertr, der mir im Hintergrund mit dem Auslesen des Tokens geholfen hat.
Leider konnte er auch nur den Token mittels Android auslesen, den ich bereits aus meinem letzten iOS Backup gefischt habe und mit dem der Sauger sich auch nicht ansprechen lässt.
Die Vermutung, dass es am Token liegt, verfliegt also so langsam auch.
Nach jetzigem Stand gibt es im Log, so wie ich es verstanden habe, keine großen Auffälligkeiten.
Was kann ich an der Fritzbox noch explizit einstellen, falls es hier zu Beeinträchtigungen kommt?
Nutzt es vielleicht, wenn ich den Sauger komplett auf Werkseinstellungen zurücksetze?
Ich kann mich erinnern, dass beim Kauf des Saugers eine aktualisierte Firmware eingespielt wurde. Da hatte ich allerdings keine Möglichkeit dies zu unterbinden.
Da meine App in iOS auf dem neuesten Stand ist, schätze ich, dass auch der Sauger selbst den aktuellen Stand der Firmware hat, denn hier habe ich nach dem einen Mal nach Kauf kein bewusstes Update mehr gemacht.
Gibt es weitere Ideen, was ich noch ausprobieren kann, damit der Sauger mittels ioBroker angesprochen werden kann?
Ich habe nicht viel in ioBroker, aber Tradfri- und Harmony-Adapter funktionieren problemlos, ohne dass ich irgendwas in den Einstellungen der Fritz tun musste.
Was mir eventuell noch einfällt, wo ich aber keine Erklärung für hätte, wäre die grundsätzliche Installation des Adapters. Kann ich hier etwas falsch gemacht haben, oder einen Schritt nicht ausgeführt haben? Irgendwo in den ganzen Threads zum Sauger habe ich was von manuellem Upload gelesen, worauf ich selbst keine Erklärung hatte, wie und wann das geschehen muss.
Bisher habe ich einfach die Instanz gestoppt, den Adapter gelöscht und von Github unter "Beliebig" mit Eingabe der URL installiert. Anschließend eine Instanz hinzugefügt, die IP und den Token eingetragen und die Instanz gestartet. Irgendwas daran vielleicht verkehrt oder unvollständig?
Vielen Dank im Voraus für Anregungen, Tipps und Hilfe.
Gruß
double_d
-
Bisher habe ich einfach die Instanz gestoppt, den Adapter gelöscht und von Github unter "Beliebig" mit Eingabe der URL installiert. Anschließend eine Instanz hinzugefügt, die IP und den Token eingetragen und die Instanz gestartet. Irgendwas daran vielleicht verkehrt oder unvollständig? `
Das Löschen wäre nicht notwendig gewesen, aber sollte auch nicht schaden. Ein manueller Upload ist dann nötig, wenn sich in einem Update was an der Admin-UI oder an (io-)package.json ändert und man von GitHub installiert. Für die Funktion ist das in der Regel auch nicht nötig. -
Danke. Dann kann ich das als Fehlerquelle im Prinzip ja auch ausschließen.
Wird immer dünner die Decke dessen, was ich noch machen kann um den Sauger ansprechen zu können.
Aber irgendwie kann es doch nicht sein, dass ich als Einziger solche Probleme damit habe. Dann muss doch etwas bei mir vorliegen, was bei Euch anderen nicht der Status Quo ist.
Und was bleibt da? Router und Sauger selbst, wenn doch alles andere identisch ist. Na gut, vielleicht noch macOS und Safari, worüber ich das Webinterface von ioBroker bediene.
Aber da hab ich auch bereits den Firefox genutzt, um Inkompatibiliäten mit Safari auszuschließen. Kann noch Chrome probieren, oder einmal komplett zu Windows wechseln.
Aber das sind ja nach meinem Dafürhalten, wenn überhaupt nur Anzeige-Probleme und keine internen Protokolle der Browser, die da anders interpretiert werden und zu solchen Fehlern führen.
-
Danke. Dann kann ich das als Fehlerquelle im Prinzip ja auch ausschließen.
Wird immer dünner die Decke dessen, was ich noch machen kann um den Sauger ansprechen zu können.
Aber irgendwie kann es doch nicht sein, dass ich als Einziger solche Probleme damit habe. Dann muss doch etwas bei mir vorliegen, was bei Euch anderen nicht der Status Quo ist.
Und was bleibt da? Router und Sauger selbst, wenn doch alles andere identisch ist. Na gut, vielleicht noch macOS und Safari, worüber ich das Webinterface von ioBroker bediene.
Aber da hab ich auch bereits den Firefox genutzt, um Inkompatibiliäten mit Safari auszuschließen. Kann noch Chrome probieren, oder einmal komplett zu Windows wechseln.
Aber das sind ja nach meinem Dafürhalten, wenn überhaupt nur Anzeige-Probleme und keine internen Protokolle der Browser, die da anders interpretiert werden und zu solchen Fehlern führen. `
Ich arbeite ja auch mit iOS, Safari und Co. und habe keine Probleme. Allerdings habe ich noch den iobroker Adapter in der Version 0.5.8 laufen.
Auch ich habe die neueste Mihome App und die Firmware Version 3.3.9_003077. Und eine Fritzbox.
Vielleicht schilderst Du nochmal kurz das Problem. Habe ich das recht verstanden: du kannst den Robi schlicht nicht über den iobroker Adapter steuern? Funktioniert denn die Steuerung über die Mihome App?