Plugin: MiRobot2Lox-NG - Xiaomi Vacuum Robots
Einklappen
X
-
t_heinrich du meinst welchen Use-Case ich für die Stati vom Robo habe? Oder habe ich die Frage falsch verstanden?Loxone: Miniserver Gen.1, 1-Wire Extension, Air Base Extension, Dali-Extension, KNX (MDT GT2S, BWM, Taster, ...)
Technik: PV 11,7kWp, Fronius Symo GEN24, BYD HVS 10,24kWh, LoxBerry, QNAP TS-431P, Unifi, Shelly-
Haidy sorry, da hab ich mich wohl missverständlich ausgedrückt.
Ich habe seit einigen Wochen einen Roborock Q8 Max und erhalte hier (auch) keinen Status mehr.
Nun habe ich durch dich erfahren, dass anscheinend nur die virtuellen Ausgänge nicht mehr korrekt sind.
Ich hab jetzt nur nicht verstanden, was du genau gemacht hast. :-)
-
-
Hallo t_heinrich,
kein Problem, gerne schildere ich meine Lösung.
Ich habe die VI mit der Vorlage aus dem Plugin (Eingänge / Ausgänge --> Virtuelle HTTP Eingänge) in meine Config importiert, dann habe ich in der Config bei diesem virtuellen Eingang die URL auf "http://IPvomLoxberry/plugins/mirobot2lox-ng/sendcmd.cgi?command=status&robot=1&debug=0" geändert.
Im nächsten Schritt habe ich dann bei den einzelnen virtuellen HTTP Eingangsbefehlen die Befehlserkennung auf die Ausgabe der vorhin genannten URL angepasst:
Battery: \i"battery":\i\v
Clean Area: \i"clean_area":\i\v
Clean Time: \i"clean_time":\i\v
State Code: \i"state":\i\v
Error Code: \i"error_code":\i\v
In der Config habe ich dann einfach die Vorlage aus dem Plugin-Beitrag im Wiki verwendet: https://wiki.loxberry.de/_media/plug...ng/mirobot.zip
Die Statusauswertung über den Statusbaustein muss ich aber noch anpassen, den das scheint für den Q8 Max nicht ganz zu passen.
z.B. steht der Robo aktuell in der Ladestation und ist voll geladen, als Status bekomme ich aber "8 - Charging" zurück, was nicht ganz falsch ist, aber ich hätte da eher "15 - Docking" oder "100 - Fully Charged" erwartet.
Loxone: Miniserver Gen.1, 1-Wire Extension, Air Base Extension, Dali-Extension, KNX (MDT GT2S, BWM, Taster, ...)
Technik: PV 11,7kWp, Fronius Symo GEN24, BYD HVS 10,24kWh, LoxBerry, QNAP TS-431P, Unifi, ShellyKommentar
-
Hallo Prof.Mobilux, kann man mit diesen Infos was anfangen bezüglich Roborock App Integration?Kommentar
-
Nein. Das Plugin nutzt die Software https://github.com/rytilahti/python-miio Wenn die es kann, dann kann es das Plugin. Solange die das nicht kann, kann es auch das Plugin nicht. Ich plane aktuell nicht das Plugin auf eine andere Api umzubauen. -
Vielen Dank für die Rückmeldung. Ich habe bei GitHub beim python-miio Projekt bezüglich Roborock Integration gefragt und er hat dann mit dem Link von oben geantwortet 😉 Darum hab ich gedacht ich frag hier mal ob man damit was anfangen kann.
-
-
Moins ich muss mich nochmal zu diesem Thema melden. Kann man mit der Integration dann auch verschiedene Räume einzeln reinigen wie in der Roborock App ich hab das in der Xiaomi App nicht gefunden oder bin ich mal wieder blind .Kommentar
-
hast du das schon gemacht und könntest evtl. einen Screenshot oder die Config posten?
Ich würde die Infos dann auch im Wiki hinterlegen.
Danke dir und Gruß
Thomas
Kommentar
-
Hello, is possible add support for ijai.vacuum.v3, python miio support it but a can´t add this robot to plugin.
thanksKommentar
-
-
Hallo,
ich habe es geschafft den Roborock S8 mit einzubinden.
Prof.Mobilux, ich hab Loxberry nochmal auf eine neue SD Karte gespielt und somit konnte ich den Token auslesen, hat also geklappt
Das Plugin funktioniert soweit ganz gut, ich kann den Robo steuern wie ich möchte, also die Ausgänge funktionieren alle.
Nur er liefert mir keine Statuswerte und ich weiss nicht wieso.
Was ich auch nicht verstehe, warum hab ich die Eingänge alle "doppelt", also einmal als UDP und als HTTP Eingang?
Ich hatte die Vorlagen wie im Plugin beschrieben kopiert und eingefügt.
Wenn ich auf das Plugin gehe --> Robot Kommandos --> Status zeigt er mir ja Werte an. Aber in der Config steht überall 0,0.
Kommentar
-
Vermutlich gibt er den Status in einem für das Plugin unbekannten Format aus. Ich kann das leider nicht integrieren, weil ich keinen S8 habe. Irgendwo oben hab ich geschrieben welche Infos ich brauche. Hat mir aber niemand zugeschickt.
Du kannst aber die URL für den Status aus den Robot Kommandos als HTTP Eingang nehmen und dir dann entsprechende Befehlserkennungen in Loxone selber bauen.🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine
LoxBerry - Beyond the Limits
Kommentar
-
Also wenn ich mir das hier durchlese, sollte der S8 funktionieren: https://github.com/rytilahti/python-...S8+is%3Aclosed
Wer selbst testen möchte: S8 mit der Xiaomi App verbinden, dann per Putty auf dem LoxBerry einloggen und folgenden Befehl eingeben, euren Usernamen und Passwort des Xiaomi-Cloud-Zugangs eingeben. Es werden euch eure Robots samt Token angezeigt:
Code:loxberry@loxberrykeller:~ $ miiocli cloud Username: sxxxxx@gmail.com Password: xxxxxx == Obergeschoss (Charging:82%) == Model: rockrobo.vacuum.v1 Token: 776bxxxxxxxxxxxx4f31786456 IP: 192.168.3.40 (mac: 34:xx:00:EB:71:64) DID: 64734182 Locale: cn == Erdgeschoss Neu (Fully charged) == Model: roborock.vacuum.s5 Token: 59796xxxxxxxxxxx76304e4243 IP: 192.168.3.61 (mac: 40:31:xx:AE:35:86) DID: 118197505 Locale: de loxberry@loxberrykeller:~ $
Code:loxberry@loxberrykeller:~ $ miiocli device --ip 192.168.3.61 --token 59796xxxxxxxxxxx76304e4243 info Model: roborock.vacuum.s5 Hardware version: Linux Firmware version: 3.5.7_002008 loxberry@loxberrykeller:~ $
Wenn das klappt versuchen den Status zu holen:
Code:loxberry@loxberrykeller:~ $ miiocli roborockvacuum --ip 192.168.3.61 --token 59796xxxxxxxxxxx76304e4243 status Running command status <VacuumStatus battery=100 clean_area=43.7925 clean_time=0:44:59 error=No error error_code=0 fanspeed=102 got_error=False in_segment_cleaning=False in_zone_cleaning=False is_on=False is_paused=False is_water_box_attached=False is_water_box_carriage_attached=None is_water_shortage=None map=True state=Charging state_code=8> loxberry@loxberrykeller:~ $
Wenn das nicht funktioniert, dann müsst ihr eventuell die aktuelle Entwicklerversion installieren. Dazu zu root werden (su -) und dann die Entwicklerversion mit folgendem Kommando installieren:
Code:pip3 install git+https://github.com/rytilahti/python-miio.git
Code:miiocli genericmiot --ip 192.168.3.61 --token 59796xxxxxxxxxxx76304e4243 status
ich hoffe, dass ich alles richtig gemacht habe. Anbei das Ergebnis. Melde Dich gern, wenn Du Fragen hast - ich würde gern dazu beitragen, dass der S8 unterstützt wird. Herzlichen Dank für Dein Engagement und viele Grüße
Code:loxberry@loxberry:~ $ miiocli cloud Username: XXX Password: XXX == Roborock S7 MaxV (Device online ) == Model: roborock.vacuum.a27 Token: XXX IP: 192.168.1.30 (mac: XXX) DID: XXX Locale: de == Roborock S8 (Device online ) == Model: roborock.vacuum.a51 Token: XXX IP: 192.168.1.33 (mac: XXX) DID: XXX Locale: de loxberry@loxberry:~ $ miiocli device --ip 192.168.1.33 --token XXX info Model: roborock.vacuum.a51 Hardware version: Linux Firmware version: 4.3.5_1602 loxberry@loxberry:~ $ miiocli roborockvacuum --ip 192.168.1.33 --token XXX status Running command status WARNING:miio.device:Found an unsupported model 'roborock.vacuum.a51' for class 'RoborockVacuum'. If this is working for you, please open an issue at https://github.com/rytilahti/python-miio/ <VacuumStatus battery=99 clean_area=0.0 clean_time=0:00:00 error=No error error_code=0 fanspeed=101 got_error=False in_segment_cleaning=False in_zone_cleaning=False is_on=False is_paused=False is_water_box_attached=False is_water_box_carriage_attached=False is_water_shortage=False map=True state=Charging state_code=8>
Zuletzt geändert von snehvid; 15.06.2024, 18:46.Kommentar
-
-
Vermutlich gibt er den Status in einem für das Plugin unbekannten Format aus. Ich kann das leider nicht integrieren, weil ich keinen S8 habe. Irgendwo oben hab ich geschrieben welche Infos ich brauche. Hat mir aber niemand zugeschickt.
Du kannst aber die URL für den Status aus den Robot Kommandos als HTTP Eingang nehmen und dir dann entsprechende Befehlserkennungen in Loxone selber bauen.
Bin ja froh das er sich zumindest schon mal steuern lässt.Kommentar
-
Vermutlich gibt er den Status in einem für das Plugin unbekannten Format aus. Ich kann das leider nicht integrieren, weil ich keinen S8 habe. Irgendwo oben hab ich geschrieben welche Infos ich brauche. Hat mir aber niemand zugeschickt.
Du kannst aber die URL für den Status aus den Robot Kommandos als HTTP Eingang nehmen und dir dann entsprechende Befehlserkennungen in Loxone selber bauen.
Der HTTP eingang dürfte klar sein. Plugin -> Robot Kommandos --> Status. Den link als Eingang nehmen. Aber bei der zusammsetzung der Befehle komme ich nicht weiter....
Edit: Hab es rausbekommen. Klappt.Zuletzt geändert von Wzvnn; 15.06.2024, 16:36.Kommentar
Kommentar