[Modul] Roborock / Xiaomi Vacuum Cleaner

Danke Burkhard,
nach Update auf die Update fällt folgendes im Logfile auf:

02.04.2023 09:14:28 | 22091 | ERROR   | TimerPool            | Roborock S7 (RoborockTimerUpdate): 
Notice: Undefined index: result in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php on line 4047

Notice: Trying to access array offset on value of type null in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php on line 4047

Fatal error: Uncaught TypeError: urldecode() expects parameter 1 to be string, null given in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php:4047
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(4047): urldecode(NULL)
#1 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(870): Roborock->get_map_v1_callback(Array)
#2 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(819): Roborock->ExecuteCallback(Array)
#3 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(1157): Roborock->RequestData('get_map_v1')
#4 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(725): Roborock->GetMap()
#5 /var/lib/symcon/scripts/__generated.inc.php(67): Roborock->Update()
#6 /-(1): Roborock_Update(22091)
#7 {main}
  thrown in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php on line 4047

02.04.2023 09:22:43 | 22091 | ERROR   | TimerPool            | Roborock S7 (RoborockTimerUpdate): 
Notice: Undefined index: result in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php on line 4047

Notice: Trying to access array offset on value of type null in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php on line 4047

Fatal error: Uncaught TypeError: urldecode() expects parameter 1 to be string, null given in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php:4047
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(4047): urldecode(NULL)
#1 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(870): Roborock->get_map_v1_callback(Array)
#2 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(819): Roborock->ExecuteCallback(Array)
#3 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(1157): Roborock->RequestData('get_map_v1')
#4 /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php(725): Roborock->GetMap()
#5 /var/lib/symcon/scripts/__generated.inc.php(67): Roborock->Update()
#6 /-(1): Roborock_Update(22091)
#7 {main}
  thrown in /var/lib/symcon/modules/.store/fonzo.ipsymconroborock/Roborock Robot/module.php on line 4047


Könntest du mir einen Debug zukommen lassen?

Hi Burkhard,
auch von mir ein großes Danke für deine Arbeit.

Heisst das das nun eine Karte ohne rooten geladen werden kann?

lg

Ja genau. Es kann die Karte heruntergeladen werden und es werden auch die Bewegungen des Roborock dargestellt.

1 „Gefällt mir“

Halleluja!! Du bist der Beste! Amen

Kann man die STABLE abwarten?

Da kann ich dir heute noch nicht sagen, wann es zur Stable kommt. Ich möchte noch Feedback von Usern abwarten, die andere als die bislang unterstützten Modelle einsetzen.

1 „Gefällt mir“

habs nicht abwarten können burkhard :slight_smile:

Danke. Genial, endlich eine Karte!!!

Frage: Kann man die Karte von der grösse verändern?

Frage: Kann es sein, das seit dem Update auf die Beta folgende Warnmeldungen kommen:

Was ist da dein Anwendungsfall? Das Medienobjekt wird doch vom Webfront automatisch skaliert.

Ja, die Meldungen kommen vom Modul. Deine Karte - vermutlich nach einem Saugvorgang - enthält Informationen, die das Modul noch nicht kennt. 16, 24, 25, 26 sind ‚ignorierte Hindernisse‘, 'Floor map (?), ‚Möbel‘ und ‚Dock_Type (?)‘.

Könntest du mir solch eine Karte und ein Bild, wie sie in der App dargestellt wird, zukommen lassen? Dann schaue ich mir mal an, ob da noch etwas herauszuholen ist.
Die Karte kannst du dir temporär über den Link, der im Debug (bei ‚Karte holen‘) aufgeführt wird, herunterladen:

Hallo Burkhard,

hier der Screenshot:

und hier die Karte:

Download

Das ist es noch nicht :slight_smile:

  • für die Karte holst du dir den Link aus dem Debug und führst dann den Link im Browser aus. Der Browser lädt dann die Xiaomi Original Karte herunter. Diesen Download bräuchte ich als Datei zur Analyse.

  • den Screenshot mache bitte in der Xiaomi App. Da sehe ich dann, wie die Karte im Original angezeigt wird.

Burkhard

Ok, sorry neuer Versuch:

Wenn ich den Link in Chrome ausführe, lädt er eine Datei herunter die „0“ heisst. Ohen Endung. Sie ist 9kb groß. Ich kann sie aber nicht hochladen…

Hier der Screenshot:

Edit: :slight_smile: jpg, gif, png habe ich ausprobiert. an zip habe ich nicht gedacht

0.zip (8,1 KB)

Benenne sie einfach um und gib ihr auch eine Endung. Z.B. .zip

Besten Dank! Ich habe nun eine korrigierte Version hochgeladen.

1 „Gefällt mir“

Morgen Burkhard,
kannst du zu der komischen Anzeige im WF der Karte etwas sagen?

Es wäre die ganze rechte Hälfte zugewiesen. (Seitenteiler)

lg

Seltsam. Da ist wohl das Bild zu breit. Das schaue ich mir mal an.

1 „Gefällt mir“

Die Karten des Roborock sind nicht besonders groß.

Da lag ich falsch. Das Medienobjekt wird in der Originalgröße dargestellt.

Aber du kannst das Bild bis zu 200% vergrößern:

Momentan liegt die Grenze bei 200%, darüber wird es unschön. Ich werde die Grenze aber in der nächsten Version auf 300% anheben. Das ist vielleicht auch noch vertretbar.

1 „Gefällt mir“

Hallo Burkhard,

ich stecke bei der Logik für 2 Geschosse mit den Zimmern.

Bei ändern des Geschosses lädt er ja die Karte brav mit. Aber wie machst du das mit der Zimmerauswahl dann?

lg

Hallo Burkhard,

seit dem letzten Update bekomme regelmäßig eine Fehlermeldung:

10.04.2023, 18:01:44 | TimerPool            | Roborock (RoborockTimerUpdate): 
Notice: getApiIO: httpcode: 401 in C:\ProgramData\Symcon\modules\.store\fonzo.ipsymconroborock\Roborock Robot\module.php on line 3213

Anbei der Dump dazu:
dump.txt (30,4 KB)

Hoffe du kannst den Fehler finden.

Modul Vers. 2.1 #22 stable
VG Alex

Update: Ich habe jetzt auf die Beta gewechselt und hier scheint es jetzt zu funktionieren. „Log IN“ ist i. O. und „Karte holen“ auch. Bin gespannt, ob es so bleibt.

Da die Aufbereitung eines Reinigungsauftrages über mehrere Räume sicherlich für viele interessant ist, gibt es nun eine neue Option „Reinigungsauftrag“. Die stellt alle Variablen für einen „Multiroom Auftrag“ zur Verfügung.

Im Webfront sieht es dann zum Beispiel so aus:

Leider habe ich keinen Weg gefunden, die Namen der Räume auszulesen. Falls jemand eine Lösung kennt, sehe ich mir die gerne einmal an.
Daher können die Namen der Räume im Konfigurationsformular der Instanz vergeben werden.

1 „Gefällt mir“

Vielen Dank Burkhard!

Das Raummenü sieht bei mir nach dem einlesen so aus:

Muss ich die Raumnamen im Profil vergeben?

lg