NEWS
[Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.
-
@pittini habe den Objektbaum jetzt nochmal komplett entfernt, den Purifier nochmal auf Werkseinstellungen gesetzt und in die Xiaomi Cloud eingebunden. Er wird auch wieder richtig erkannt, auch mit neue IP-Adresse (die andere war übrigens richtig), aber es stehen weiterhin alle werte auf null. Wenn ich den Status verändere, z.B. Luftqualität, bleibt der Wert auf (null) obwohl die Daten aktualisiert werden (grünes aufleuchten). Naja ich werde es einfach mal ein bisschen laufen lassen, vielleicht ändert sich ja was. Danke für deine Hilfe
-
hat sich erledigt ich war zu ungeduldig...
-
Grüß Euch,
ich scheitere leider schon am Anfang! Die Zugangsdaten passen alle, leider gibts da den folgenden Fehler:
Ich hab trotz intensiver Suche im Forum nix gefunden
Das Skript startet soweit:9:55:56.255 info javascript.0 (10006) script.js.Zeug.AitPur: registered 0 subscriptions and 0 schedules 19:55:56.256 info javascript.0 (10006) script.js.Zeug.AitPur: You are already logged in, login canceled 19:55:56.256 info javascript.0 (10006) script.js.Zeug.AitPur: Retrieving your in de registered MiHome Devices
javascript.0 2021-10-23 19:56:01.304 error FetchError: network timeout at: https://de.api.io.mi.com/app/home/device_list at Timeout.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/lib/index.js:1476:13) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) javascript.0 2021-10-23 19:56:01.303 error Error: network timeout at: https://de.api.io.mi.com/app/home/device_list javascript.0 2021-10-23 19:56:01.302 error An error happened which is most likely from one of your scripts, but the originating script could not be detected.
-
@gukerl
Soll heißen? -
@thomas-braun Zu früh Enter gedrückt Jetzt passts aber!
-
ping de.api.io.mi.com PING de-api-io-mi-com-new-1496482937.eu-central-1.elb.amazonaws.com (3.120.13.91) 56(84) bytes of data. ^C --- de-api-io-mi-com-new-1496482937.eu-central-1.elb.amazonaws.com ping statistics --- 9 packets transmitted, 0 received, 100% packet loss, time 8328ms
Der Server ist wohl down.
-
@thomas-braun
Beim Aufruf im Browser bekomme ich was zurück
{"code":0,"message":"auth err"}
Und der Air 3H lässt sich zumindest über die App einwandfrei bedienen.
Aber vielen DANK für den Hinweis!!LG, Andi
-
Ah...daher weht der Wind. Ich hab nämlich seit gestern das gleiche Problem mit meinem AirPurifier 3H. Passwort geändert, mit Handy einloggen geht - nur die Daten per Skript über die API auslesen nicht (aktuell).
-
@kueppert Scheint aber ein begrenztes Problem zu sein, bei mir läufts wie gewohnt.
-
@pittini ein ping wie oben erwähnt, führt zwar ebenfalls zur Zeitüberschreitung, Script als auch Ansteuerung funktioniert jedoch problemlos
-
@crunchip Auch heute wieder selbige Fehlermeldung. Klarerweise bleibt das Skript wieder beim versuchten Einlesen der Devices hängen.
-
@gukerl ja die Meldung kommt zwischendrin hin und wieder mal, Script/Steuerung tut aber trotzdem was es soll.
-
Kann es vielleicht sein, dass es eine Art Geo Blocking gibt? In der Mi-Home App ist in der Ländereinstellung "Österreich" drinnen, keine Ahnung, ob da der DE Server verwendet werden kann oder ob die API von Ösi aus geblockt wird.
-
@gukerl sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Kann es vielleicht sein, dass es eine Art Geo Blocking gibt? In der Mi-Home App ist in der Ländereinstellung "Österreich" drinnen, keine Ahnung, ob da der DE Server verwendet werden kann oder ob die API von Ösi aus geblockt wird.
Du hast DEine Geräte auf nem Ösi Server angemeldet und hast im Skript de drin? Wenn ja, is klar dasses nicht geht, im Skript muß immer der entsprechende Server eingetragen sein. Versuch mal obs mit dem Länderkürzel von Österreich geht, weil is in der node-mihome zwar niocht im Beispiel gelistet, kann aber trotzdem gehen. Weis nicht obs nen anderen User hier aus Ö gibt?
-
@pittini Hab ich schon gestestet, AT geht nicht. Finde das sowieso komisch, mein Staubi ist mit dem Adapter "mihome-vacuum" integriert, Server "Germany" und das haut alles perfekt hin. Auch in der Mi Home App am Handy, trotz Ländereinstellung "Österreich". Ich sehe den Robo V1 und auch die Air Purifier ganz normal in der App.
Naja, wenn's nicht geht, dann geht's eben nicht, auch kein Beinbruch.
Danke auf jeden Fall -
@pittini hab den Fehler gefunden - lag bei mir an piHole...der hat sich irgendwie verschluckt. Nachdem ich den internen DNS Server rausgenommen habe, tat es wieder
-
Update: ich habe den mihome-vacuum Adapter auch installiert, lustigerweise findet der Adapter zusätzlich zum Staubi auch den Air 3H, samt Token. Es sieht fast so aus, als wäre das Problem beim node-mihome zu suchen. Soweit ich festgestellt habe, liegt die Magie des Seitanaufruf https://de.api.io.mi.com/app/home/device_list beim nachzuinstallierendem node-mihome.
Irgendwas macht der Adapter mihome-vacuum anders als Skript über node-mihome.LG, Andi
-
@gukerl sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Es sieht fast so aus, als wäre das Problem beim node-mihome zu suchen.
Wenn dem so wäre > Arschkarte. Der Entwickler der node-mihome is seit monaten inaktiv und reagiert auf nix, weder Issues noch Pull Requests.
Andererseits, läuft das Skript ja bei etlichen Leuten, mich eingeschlossen ohne Probleme, iwas muß also bei Dir anders sein. -
@pittini Vielleicht, weil bei mir eben die Devices noch nicht "gefunden" und ausgelesen sind, bei Euch aber schon.
Wie gesagt, der Robo & der Air werden beide mit dem mihome-vacuum Adapter, samt Token einwandfrei gefunden und ausgelesen.
Ich werde mal versuchen, aus dem JS Code heraus einige Datenpunkte manuell anzulegen, um den Punkt (1) zu umgehen. vielleicht hilft das ja was.
Schade, dass der Dev nix mehr tut, da stehen ja 4, wenn ich mich richtig erinnere, Pull Requests an.
Wie gesagt, kein Beinbruch, ich gucke nur mehr aus sportlichem Ehrgeiz -
@gukerl sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Ich werde mal versuchen, aus dem JS Code heraus einige Datenpunkte manuell anzulegen, um den Punkt (1) zu umgehen. vielleicht hilft das ja was.
Das wird definitiv nix bringen die manuell anzulegen. Was das Skript macht is folgendes:
Es loggt sich ein und fragt die Xiaomi Cloud welche Geräte Du hast. Die liefert dann eine Liste mit allen Geräten, den Tokens, isOnline etc. Daraufhin prüft das Skript welche Geräte der Liste dem Skript bekannt sind und legt dafür Datenpunkte an und subscribed diese Geräte bei der Cloud, welche dann alle x Sekunden die Daten der Geräte liefert, das Skript schreibt die dann in die Datenpunkte. Und wenn nix kommt, helfen halt auch die Datenpunkte nix.