fhempy: miio (Xiaomi WiFi Devices)

Begonnen von dominik, 30 Oktober 2020, 21:26:31

Vorheriges Thema - Nächstes Thema

Stelaku

Zitat
Ok, danke für den Test. Dann hat es nichts mit der Reading Aktualisierung zu tun.

Der Test war jetzt mit der originalen miio Library, also wo move nicht geht. Richtig?

Ich suche mal weiter...btw, wie lange ist dein letztes FHEM Update am Live System her?

Nein der Test war mit der modifizierten miio Library. Bei der nichtmodifizierten kann ich den Fehler aber auch reproduzieren.

Auf meiner live Instanz habe ich fempy am 27.11.2020 per update eingespielt.
Die Versionsnummer von den Modulen lautet z.b. BindingsIo v1.0.0

Gruß

Stephan

dominik

Diese Meldung sollte mit dem Fix in der miio Library aber nicht mehr kommen
21:03:06.571 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x725104f0>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7251...(139) fhemweb.js:512:13


Siehst du im Status nur das <miio.viomivacuum....>? Das sollte eigentlich nicht sein.

Kannst du bitte mal die
/opt/fhem/FHEM/bindings/python/fhempy/lib/miio.py
mal durch diese Version ersetzen
https://raw.githubusercontent.com/dominikkarall/fhempy/3776c7a5098138a98bcc1f6531df0fbdc3d53d48/FHEM/bindings/python/lib/miio/miio.py

sudo wget https://raw.githubusercontent.com/dominikkarall/fhempy/3776c7a5098138a98bcc1f6531df0fbdc3d53d48/FHEM/bindings/python/lib/miio/miio.py -O /opt/fhem/FHEM/bindings/python/fhempy/lib/miio.py

Das wäre nämlich die alte Version. Bin gespannt ob die funktioniert.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Stelaku

ZitatSiehst du im Status nur das <miio.viomivacuum....>? Das sollte eigentlich nicht sein.
Hallo Dominik

Ich kann den status <miio.viomivacuum.ViomiVacuumStatus object at 0x739d5ed0> bei mir sehen der wird in der alten wie in der neuen Version immer angezeigt wenn ich über Fhem den move Befehl setze.
Ich habe auch die standart viomivacuum.py Datei ausprobiert auch dort bekomme ich diesen status zurück wenn ich über die app den Sauger fernsteuere.
ZitatKannst du bitte mal die
/opt/fhem/FHEM/bindings/python/fhempy/lib/miio.py
mal durch diese Version ersetzen

Ist erledigt. aber leider ohne Erfolg. Wenn ich nach einen move befehl den status über set anfordere wird die web seite nicht neu geladen und beim  zweiten klick kommt die Meldung.
Ebenfalls auch mit der standart viomivacuum.py Datei ausprobiert. Wurde der Sauger per Fernbedienung bewegt kommt die Meldung beim zweiten set klicken.

Viele grüsse

Stephan

dominik

Zitat von: Stelaku am 13 Dezember 2020, 00:33:00
Ich kann den status <miio.viomivacuum.ViomiVacuumStatus object at 0x739d5ed0> bei mir sehen der wird in der alten wie in der neuen Version immer angezeigt wenn ich über Fhem den move Befehl setze.
Ich habe auch die standart viomivacuum.py Datei ausprobiert auch dort bekomme ich diesen status zurück wenn ich über die app den Sauger fernsteuere.
Das muss ich mir separat anschauen, das sollte nicht sein.

Zitat
Ist erledigt. aber leider ohne Erfolg. Wenn ich nach einen move befehl den status über set anfordere wird die web seite nicht neu geladen und beim  zweiten klick kommt die Meldung.
Ebenfalls auch mit der standart viomivacuum.py Datei ausprobiert. Wurde der Sauger per Fernbedienung bewegt kommt die Meldung beim zweiten set klicken.
Ich bin mir nicht sicher, aber könnte mir auch vorstellen, dass Anpassungen im FHEM Webumfeld dazu führen.
Kannst du bitte mal die fhemweb.js auf eine ältere Version umstellen? Da gab es ein paar Änderungen in letzter Zeit, wobei ich die Auswirkungen leider nicht ganz einschätzen kann, da ich den Code dort nicht so gut kenne.
Kannst du mal die Version aus deinem Live System in das Testsystem einspielen? /opt/fhem/www/pgm2/fhem/fhemweb.js ist der Dateipfad.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Stelaku

Hallo Dominik

ZitatKannst du mal die Version aus deinem Live System in das Testsystem einspielen? /opt/fhem/www/pgm2/fhem/fhemweb.js ist der Dateipfad.

Habe ich gemacht. Nur die Datei fhemweb.js war in meiner live Instanz sowie in meiner Test Instanz an diesem Ort /opt/fhem/www/pgm2/fhemweb.js. War bestimmt nur ein Tipfehler ?

Die Datei fhemweb.js mit den Zeitstempel vom 27.11.2020 befindet sich jetzt an der stelle wo auch die fhemweb.js war aus meiner Test Instanz. Der Zeitstempel ist da jetzt auch der 27.11.2020.

Aber leider ist die Meldung immer noch reproduzierbar. Auch nach einem pi reboot und Browser neustart mit löschen aller Verläufe etc.

Viele Grüsse

Stephan


dominik

Hi,

puh, irgendwie kommen wir da nicht weiter. Kannst du bitte die miio.py von fhempy aus der alten Installation ebenfalls ins Testsystem kopieren?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Stelaku

#111
Zitatpuh, irgendwie kommen wir da nicht weiter. Kannst du bitte die miio.py von fhempy aus der alten Installation ebenfalls ins Testsystem kopieren?

Das habe ich gemacht. die Datei aus der live instanz

/opt/fhem/FHEM/bindings/python/lib/miio/miio.py

Kopiert in die Testversion. Da habe ich zwei Orte gefunden an der die Datei liegt. Einmal dieser Pfad
Zitat
/opt/fhem/FHEM/bindings/python/fempy/lib/miio.py
Danach hat sich nichts am Fehlerbild geändert.
Dann habe ich die miio.py in den zweiten Pfad, der Testversion durch die aus der live Instanz ersetzt.

/opt/fhem/FHEM/bindings/python/fempy/lib/miio/miio.py


Und wie soll ich es sagen der Fehler ist weg  :D.

Wenn ich auf set status klicke wird zwar die Web Seite nicht neu geladen, so das ich immer noch wie ein irrer auf das set Icon klicken kann, aber der Fehler wird nicht mehr angezeigt.
Bei jeden klick auf set wird dieses reading
cmd_reply_val         <miio.viomivacuum.ViomiVacuumStatus object at 0x72dec550>
immer neu gesetzt. es ändern sich immer die Zahlen hinter 0x........ .
Und der Status des Device ändert sich auf online.
Im log PythonBinding-2020-12-13.log gibt es dann auch keine Einträge.

Das ist doch für einen Sonntag schonmal ein klasse Erfolgserlebnis.
Vielen dank

Viele Grüsse

Stephan

dominik

Ok :) so kommen wir weiter.

Kannst du mir bitte die miio.py die du kopiert hast hier reinkopieren? Dann weiß ich welche Version das ist und kann von dort wegarbeiten.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Stelaku


dominik

Ich weiß leider noch immer nicht warum das bei dir so ist. Vor allem, warum nach einem Set die Seite nicht neu geladen wird. Das sollte eigentlich immer der Fall sein.

Kannst du bitte mal status auswählen und dann den HTML Code hier posten?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Stelaku

Hallo Dominik

Also ich bin nicht mehr ganz wach aber ich habe gerade ein bisschen herumgespielt und viel im Forum gelesen. Es sieht fast so aus als ob die Fehlermeldung doch was mit der fhemweb.js Datei zu tun hat.
Ich habe die neue Datei die Morgen im update verfügbar sein wird auf das backup gespielt wo ich vorher den Fehler sofort reproduzieren kann. Mit der neuen fhemweb.js Datei ist alles wieder wie in meinem
Live System. die Seite wird immer neu geladen nach einem set status.
Ich werde das Morgen noch mehrmals wieder holen um ganz sicher zu sein.

ZitatNachtrag: im svn ist eine gefixte Fassung, gibt's ab morgen früh per update oder direkt unter https://svn.fhem.de/trac/browser/trunk/fhem/www/pgm2/fhemweb.js

dominik

Passt, bin schon auf das Resultat gespannt. Ich habe fhemweb.js auch schon ausführlich studiert, bin da aber noch nicht ganz durchgestiegen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Stelaku

Hallo Dominik
Ich habe jetzt den ganzen Nachmittag herumprobiert und bin nicht wirklich zu einem Ergebnis gekommen. Die anfänglich Euphorie von gestern wurde heute nicht bestätigt.

Erster Versuch:
Backup meiner Live Instanz auf den Test pi geschrieben. Update durchgeführt shutdown restart und Browser Verläufe ... gelöscht. Alles wieder hochfahren lassen mit dem Ergebnis das die Fehlermeldung brav an der selben Stelle wieder aufpoppte.

Zweiter Versuch:
Backup meiner Test Instanz aufgespielt und ebenfalls ein update durchgeführt. Natürlich wie zu erwarten das gleich Problem. Jetzt aber die fhemweb.js Datei von Gestern, die ja normalerweise die selbe
sein sollte die heute über das update reingekommen ist drüber kopiert. alle rechte wieder auf fhem:dialout, Fhem gestartet und siehe da der Fehler ist wie gestern weg. Nur das jetzt beim Event Monitore keine Events mehr angezeigt werden was vor den einspielen der fhemweb.js noch ging. Einmal Erfolg gehabt die Events durch einen longpoll websocket wieder angezeigt zu bekommen. Auch mehrfaches löschen des Browser Cache war ohne Erfolg.

Dritter Versuch:
Alles wieder auf Null. kpl. neues Fhem installiert fempy eingebunden. Der erste set Befehl wurde
Abgesetzt Seite hat sich neu geladen. Nur das Device blieb auf Docked. Status neu ausgewählt und set geklickt. Seite hat sich nicht neu geladen. Nochmal auf set geklickt. Der Fehler wurde wieder angezeigt.
Auch hier die fhemweb.js von gestern eingespielt. Mit den Ergebnis das zwar der Fehler nicht mehr angezeigt wurde aber eben der Event Monitor keine Events mehr angezeigt hat.

Ich habe zwei Dateien vom HTML Code angehängt. Einmal befor ich auf set klicke und einmal nachdem ich auf set geklickt habe und das pop up Fenster zu sehen ist.

Viele Grüsse

Stephan

curt

@Dominik @Stelaku
Zitat von: Stelaku am 12 Dezember 2020, 10:45:52
Hallo curt
Ich habe es gerade nochmal bei mir ausprobiert mit aktuellem fempy.

Delete xiaomi_tokens
save config
shutdown restart
define xiaomi_tokens PythonModule xiaomi_tokens
set xiaomi_tokens username <Meine Mail Adresse>
set xiaomi_tokens password <Mein Passwort>
set xiaomi_tokens get_tokens

und nach ein paar Sekunden wenn Du die Seite mit F5 aktualisierst kommt das reading mit den token.

<seufzt> Nein, da kommt genau nichts, einziges Reading ist state=active. Daran ändert Aktualisierung auch nichts.

Ich hätte schon gern die Anbindung an FHEM zurück, das ging ja schon mal (einen halben Tag bis zum Update).

In der Anlage gepacktes Log (PW als x).
RPI 4 - Jeelink HomeMatic Z-Wave

Stelaku

Moin curt

Probier doch mal bitte Dich in der Mijo Home app auf Deinem Handy einmal abzumelden und dann wieder anzumelden. Nur um Deine Benutzerdaten mal zu überprüfen.
In der app gehst Du dann auf Profil unten rechts. Klickst dann ganz oben auf Dein Profilbild (Namen) . Und ganz unten steht dann abmelden.
Falls Du Dich dann nicht mehr anmelden kannst sind Deine Benutzerdaten nicht mehr richtig. Dann erstellst Du einfach ein neues Konto verbindest den Sauger mit der app und versuchst den token dann mit den neuen Benutzerdaten zu erhalten. 

Viele Grüsse

Stephan