Es könnte natürlich mit dem S7 selbst zusammenhängen, dass der noch andere Daten benötigt, aber es könnte auch damit zusammenhängen, dass du eine ID verwendest, die nicht existiert.
Die Segmente sind nicht von unbedingt von 0..n durchnummeriert. Ich hab bei meinen Maps auch ID's > 10, obwohl ich nicht soviele Räume habe.
Um den Fehler einzugrenzen müsstest du erstmal rausfinden, ob die Segment-ID, die du angibst überhaupt existiert. Einfachste Möglichkeit wäre mit dem VSE.
jonofe: hast du das VSE laufen ? Wenn ja, könntest du bitte schauen, ob das bei dir geht ?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Xiaomi / Roboroc Baustein 19001929
Einklappen
X
-
Hi,
Hatte ich schon vor zwei Wintern vor. Aber was soll ich sagen.. meine kleine Sonne braucht mich mehr als mein Smarthome.Zitat von sipiyou Beitrag anzeigenZeit zum umsteigen
Aber ein bisschen Zeit is ja noch da ;-)
..hab jetzt Raum (2) ; 1 (einmal) gemacht also "2;1"
Ich sehe auch in der Xioami app wie die Karte ausgegraut wird und nur der Raum den ich anfahren möchte farbig bleibt.
Aber er fährt nur kurz los, stopt dann und fährt zurück mit dem Hinweis : "Selektive Zimmerreinigung abgeschlossen".
Wenn ich das ganze via App starte geht das.Zuletzt geändert von trollmar; 14.08.2022, 13:48.
Einen Kommentar schreiben:
-
Zeit zum umsteigen
Nein, sind 2 Zahlen. Zone ";" und wie oft der saugen soll (1..3)
16;1
Einen Kommentar schreiben:
-
Ne, benutze noch meine Openhab MQTT Visu ;-)Zitat von sipiyou Beitrag anzeigen@trollmar: Benutzt du das VSE ? Die aktuelle beta vom VSE findest du hier.
Aber ist ja nur ne Zahl die ich da triggere oder? Meine Map "0" hat zwei Räume.
Egal ob ich mit "1" oder "2" oder gar zum testen "3" triggere ..er fährt nur 5 sekunden.
Einen Kommentar schreiben:
-
@mno: sieht doch soweit ok aus. Wenn du nur einen Roboter hast, dann solltest du den cloud-token nicht verwenden, sprich: lass E7 frei.
@trollmar: Benutzt du das VSE ? Die aktuelle beta vom VSE findest du hier.
https://www.dropbox.com/s/l3jf2qvply...5_vse.php?dl=0
Einen Kommentar schreiben:
-
Hi,
erstmal danke für das update.
Möchte jetzt mit meinem neuen S7 erstmals die Segment ID einsetzten.
Du hattest ja mal geschrieben das Segment-IDs gleich Raum-IDs aus der App sind.
Wenn ich an E18 die Karte lade und bei E25 den Modus wähle und
danach dann bei E20 die ID aus der App triggere, dann fährt der S7 auch los.
Aber nur ca. 5 sek.!
Dann sagt er "Selektive Zimmerreinigung abgeschlossen".
Hierbei ist es egal welche Segment(Raum) Zahl/ID ich bei E20 eingebe er ist immer direkt fertig
Was mach ich falsch?
LG
Einen Kommentar schreiben:
-
sipiyou
Ich danke Dir.
1.01.g habe ich jetzt noch nicht installiert. Infos sind aus der Version 1.01. War mir jetzt nicht sicher welchen Screenshot du haben willst.
Bildschirmfoto 2022-08-13 um 07.09.34.png
2022-08-13 07:06:10 149270 11638 Kritisch Login fehlgeschlagen! 2022-08-13 07:06:10 149408 11638 Debug cloud->isAccessible:N-E10=192.168.2.216-E11=646f..... 2022-08-13 07:06:10 149434 11638 Debug RoborockMe:: ip = 192.168.2.216; token = 646f.....; SequenceID: 0 2022-08-13 07:06:10 631306 11638 Debug roborocMe:: ok 2022-08-13 07:06:10 631386 11638 Debug miIO.Info:array(16) {[LF] ["life"]=>[LF] int(14384)[LF] ["uid"]=>[LF] int(6499652099)[LF] ["model"]=>[LF] string(19) "roborock.vacuum.a15"[LF] ["token"]=>[LF] string(32) "646f....."[LF] ["ipflag"]=>[LF] int(1)[LF] ["miio_ver"]=>[LF] string(5) "0.0.9"[LF] ["mac"]=>[LF] string(17) "B0:4A:39:25:C7:4F"[LF] ["fw_ver"]=>[LF] string(10) "4.1.5_1536"[LF] ["hw_ver"]=>[LF] string(5) "Linux"[LF] ["miio_client_ver"]=>[LF] string(5) "4.1.5"[LF] ["VmPeak"]=>[LF] int(9116)[LF] ["VmRSS"]=>[LF] int(1656)[LF] ["MemFree"]=>[LF] int(104888)[LF] ["ap"]=>[LF] array(4) {[LF] ["ssid"]=>[LF] string(10) "WIFI ID 2G"[LF] ["bssid"]=>[LF] string(17) "f0:9f:c2:69:23:63"[LF] ["rssi"]=>[LF] string(0) ""[LF] ["freq"]=>[LF] int(0)[LF] }[LF] ["netif"]=>[LF] array(3) {[LF] ["localIp"]=>[LF] string(13) "192.168.2.216"[LF] ["mask"]=>[LF] string(13) "255.255.255.0"[LF] ["gw"]=>[LF] string(11) "192.168.2.1"[LF] }[LF] ["miio_times"]=>[LF] array(4) {[LF] [0]=>[LF] int(14384)[LF] [1]=>[LF] int(20)[LF] [2]=>[LF] int(0)[LF] [3]=>[LF] int(14363)[LF] }[LF]}[LF] 2022-08-13 07:06:10 631447 11638 Debug Info_Status:array(29) {[LF] ["msg_ver"]=>[LF] int(2)[LF] ["msg_seq"]=>[LF] int(6)[LF] ["state"]=>[LF] int(8)[LF] ["battery"]=>[LF] int(100)[LF] ["clean_time"]=>[LF] float(60.483333333333)[LF] ["clean_area"]=>[LF] float(63.13)[LF] ["error_code"]=>[LF] int(0)[LF] ["map_present"]=>[LF] int(1)[LF] ["in_cleaning"]=>[LF] int(0)[LF] ["in_returning"]=>[LF] int(0)[LF] ["in_fresh_state"]=>[LF] int(1)[LF] ["lab_status"]=>[LF] int(1)[LF] ["water_box_status"]=>[LF] int(1)[LF] ["fan_power"]=>[LF] int(103)[LF] ["dnd_enabled"]=>[LF] int(1)[LF] ["map_status"]=>[LF] int(3)[LF] ["is_locating"]=>[LF] int(0)[LF] ["lock_status"]=>[LF] int(0)[LF] ["water_box_mode"]=>[LF] int(201)[LF] ["water_box_carriage_status"]=>[LF] int(1)[LF] ["mop_forbidden_enable"]=>[LF] int(1)[LF] ["adbumper_status"]=>[LF] array(3) {[LF] [0]=>[LF] int(0)[LF] [1]=>[LF] int(0)[LF] [2]=>[LF] int(0)[LF] }[LF] ["water_shortage_status"]=>[LF] int(1)[LF] ["dock_type"]=>[LF] int(0)[LF] ["dust_collection_status"]=>[LF] int(0)[LF] ["auto_dust_collection"]=>[LF] int(1)[LF] ["mop_mode"]=>[LF] int(300)[LF] ["debug_mode"]=>[LF] int(0)[LF] ["dock_error_status"]=>[LF] int(0)[LF]}[LF] 2022-08-13 07:06:10 631481 11638 Debug Aktueller Status: 0 2022-08-13 07:06:10 631968 11638 Debug error-code: 0 2022-08-13 07:06:11 137789 11638 Debug getConsumables:array(6) {[LF] ["main_brush_work_time"]=>[LF] int(171488)[LF] ["side_brush_work_time"]=>[LF] int(171488)[LF] ["filter_work_time"]=>[LF] int(171488)[LF] ["filter_element_work_time"]=>[LF] int(0)[LF] ["sensor_dirty_time"]=>[LF] int(171485)[LF] ["dust_collection_work_times"]=>[LF] int(0)[LF]}[LF] 2022-08-13 07:06:11 137887 11638 Debug sequenceID 61 V9 =0 2022-08-13 07:06:11 436346 11638 Debug multimaps :array(4) {[LF] ["max_multi_map"]=>[LF] int(1)[LF] ["max_bak_map"]=>[LF] int(0)[LF] ["multi_map_count"]=>[LF] int(1)[LF] ["map_info"]=>[LF] array(1) {[LF] [0]=>[LF] array(5) {[LF] ["mapFlag"]=>[LF] int(0)[LF] ["add_time"]=>[LF] int(1660116805)[LF] ["length"]=>[LF] int(0)[LF] ["name"]=>[LF] string(0) ""[LF] ["bak_maps"]=>[LF] array(0) {[LF] }[LF] }[LF] }[LF]}[LF] 2022-08-13 07:06:11 437890 11638 Debug keine Map vorhanden 2022-08-13 07:06:11 439448 11638 Debug Ausführungszeit: 1.6795859336853 [s]
Einen Kommentar schreiben:
-
Ich hab soeben die 1.01g veröffentlich. Hier sind auch die Änderungen von Jonofe drin.
@mno: Mach bitte ein Screenshot und schwärze die Credentials. Dann schau ich drüber.
Einen Kommentar schreiben:
-
Der Vollständigkeit halber, als Doku für die Nachwelt, wollte ich noch kurz eine Info die "Verbindung Roborock nach (bei mir) IO Broker in verschiedenen Subnets i.V. Unifi UDM-Pro" nachreichen. Wusste nicht wohin es besser passen sollte. Gerne kann es auch verschoben werden!
1.Bootscript auf UDM installieren https://github.com/unifi-utilities/u...ript/README.md
2.Datei erstellen (Dateiname.sh) mit folgendem Inhalt
#!/bin/sh
iptables -t nat -A POSTROUTING -s IPAdresseIOBroker/32 -d IPAdresseRoborock/32 -p UDP -j MASQUERADE --to-ports 54321
3. Diese auf die UDM kopieren. Das ich hab ich mit WinSCP gemacht in den Pfad /mnt/data/on_boot.d
4. UDM neustarten
Grüße Joe
- Likes 1
Einen Kommentar schreiben:
-
Hallo,
ich habe nichts an dem Baustein geändert und habe nachfolgende Probleme.
Die ganze Zeit hat es ohne Probleme funktioniert.
Bildschirmfoto 2022-08-07 um 21.11.37.png
An der Handy App kann ich mich mit dem hinterlegtem User und PW anmelden.
Irgend jemand eine Idee was die Glaskugel sagen könnte?Angehängte Dateien
Einen Kommentar schreiben:
-
@jonofe: ich glaub wir machen das anders, da du den LBS ja schon entsprechend angepasst hast. Lad bitte den kompletten LBS irgendwo hoch und schick mir den Link, dann übernehm ich das. Ist denke ich einfacher, bevor ich beim übernehmen irgendwelche Fehler reinbastle.
Danke schonmal für die Überarbeitung!
Die Sache mit dem Array Index 0 ist leider nicht so einfach. Das hängt vom jeweiligen Modell ab, ich glaub der S7 war der erste, der das Problem verursacht hat.
Einen Kommentar schreiben:
-
Wenn du mehrere Subnets hast, dann muss doch auch ein Router dazwischen sein. Dann ist außer einer Masquerading Regel nichts weiter notwendig, damit es funktioniert.Zitat von Amokd0c Beitrag anzeigenWeiß jemand, ob es in absehbarer Zeit möglich ist, dass der Roborock S7 subnetübergreifend kommunizieren kann?
Aktuell geht es nicht, nur mit Workaraound.
Einen Kommentar schreiben:
-
Was soll da Xiaomi machen? Das sind deine Netzwerkeinstellungen! Wenn da was nicht funktioniert, musst Du bei Dir schauen!
Einen Kommentar schreiben:
-
Morgen!
Ich würde gerne mal kurz dazwischengrätschen wenn ich darf!
Weiß jemand, ob es in absehbarer Zeit möglich ist, dass der Roborock S7 subnetübergreifend kommunizieren kann?
Aktuell geht es nicht, nur mit Workaraound.
Besten Dank!
Einen Kommentar schreiben:
-
Ja, bei mir läuft es derzeit ohne Delay. Damit ist die aktuelle Map sofort an A13 verfügbar.Zitat von sipiyou Beitrag anzeigenD.h. der Delay-Kram kann auch vollständig raus. Hast du das auch schon komplett entfernt ?
Allerdings muss man zwischen Map-Auswahl (E18) und dem nächsten Befehl an den Robo trotzdem 5 Sekunden warten, z.B. bevor man dann E24/E25 setzt oder auch die Reinigung startet (E14). Das liegt vermutlich auch daran, dass der LBS ja nicht mehrfach laufen kann und somit die Befehle zu schnell kommen und ignoriert werden wenn man sie z.B. in einer Ausgangsbox einfach in Folge sendet. Dazu habe ich nichts angepasst, sondern starte die Reinigung über Sequenzen- Map Auswahl (5 Sekunden Pause)
- Wischmodus setzen (3 Sekunden Pause)
- Reinigung starten
Allerdings gibt es noch ein kleines Problem mit E25.
Wenn man nur Saugen möchte, ist es beim S7 MaxV keine Option, dies via E24 zu machen, da der Wischmodus der vorherigen Reinigung nicht zurückgesetzt wird.
D.h. es muss beim S7 MaxV über E25 ein 104,200 gesendet werden. Der dritte Parameter darf nicht angegeben werden (Wischtyp), da er sonst gar nichts macht und nur spazieren fährt. Daher muss E25 auch zwei statt drei Parameter unterstützen. Ich hab das jetzt mal so angepasst:
Und es gab sporadisch noch einen Array Index Fehler, den ich allerdings nicht wirklich erklären kann, da mit dazu die Semantik fehlt. Dies war in getSendCmd() und der Fehler war "Undefined offset 0"PHP-Code:case 15:
$arr = explode(",", $E[25]['value']);
if (is_array($arr)) {
if (array_key_exists(0,$arr)) {
$roboroc->setFanSpeed($arr[0]);
exec_debug(2, "Saugleistung " . $arr[0]);
}
if (array_key_exists(1,$arr)) {
$roboroc->setWaterBoxCustomMode($arr[1]);
exec_debug(2, " Wisch-Modus: " . $arr[1]);
}
if (array_key_exists(2,$arr)) {
$roboroc->setMopMode($arr[2]);
exec_debug(2, "Mop-Modus: " . $arr[2]);
}
} else {
exec_debug(1, "E25 Fehler: ".$E[25]['value']);
}
break;
Ich hab das mal wie folgt symptomatisch behandelt:
Damit wird jetzt einfach das eine Element zurückgegeben, ob es nur Index 0 hat oder einen anderen Index. Hier bin ich völlig unsicher, was die Konsequenzen sind. Das kannst du sicher besser beurteile, wie es überhaupt zu dem Fehler kommen kann.PHP-Code:if (is_array($resp['result']) && (sizeof ($resp['result']) == 1)) {
//$resp = $resp['result'][0]; // ALT!
$resp = array_pop($resp['result']); // NEU! (jonofe)
} else {
$resp = $resp['result'];
}
Einen Kommentar schreiben:


Einen Kommentar schreiben: