Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • trollmar
    antwortet
    Hi,

    Zitat von sipiyou Beitrag anzeigen
    Zeit zum umsteigen
    Hatte ich schon vor zwei Wintern vor. Aber was soll ich sagen.. meine kleine Sonne braucht mich mehr als mein Smarthome.


    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:


  • sipiyou
    antwortet
    Zeit zum umsteigen

    Nein, sind 2 Zahlen. Zone ";" und wie oft der saugen soll (1..3)

    16;1

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Zitat von sipiyou Beitrag anzeigen
    @trollmar: Benutzt du das VSE ? Die aktuelle beta vom VSE findest du hier.
    Ne, benutze noch meine Openhab MQTT Visu ;-)


    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:


  • sipiyou
    antwortet
    @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:


  • trollmar
    antwortet
    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:


  • mno
    antwortet
    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:


  • sipiyou
    antwortet
    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:


  • Amokd0c
    antwortet
    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



    Einen Kommentar schreiben:


  • mno
    antwortet
    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:


  • sipiyou
    antwortet
    @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:


  • jonofe
    antwortet
    Zitat von Amokd0c Beitrag anzeigen
    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.
    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.

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Was soll da Xiaomi machen? Das sind deine Netzwerkeinstellungen! Wenn da was nicht funktioniert, musst Du bei Dir schauen!

    Einen Kommentar schreiben:


  • Amokd0c
    antwortet
    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:


  • jonofe
    antwortet
    Zitat von sipiyou Beitrag anzeigen
    D.h. der Delay-Kram kann auch vollständig raus. Hast du das auch schon komplett entfernt ?
    Ja, bei mir läuft es derzeit ohne Delay. Damit ist die aktuelle Map sofort an A13 verfügbar.
    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
    1. Map Auswahl (5 Sekunden Pause)
    2. Wischmodus setzen (3 Sekunden Pause)
    3. Reinigung starten
    Das funktioniert super zuverlässig.

    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:

    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; 
    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"

    Ich hab das mal wie folgt symptomatisch behandelt:

    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'];

    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.

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    jonofe Sorry, war paar Tage im Nachbarland - Danke für's debuggen!

    Wenn ich mir das so anschaue, macht es Sinn, denn getStatus holt die Daten für Info_status, was wiederrum den Map-Index beinhaltet.

    Ich habs jetzt reingenommen. D.h. der Delay-Kram kann auch vollständig raus. Hast du das auch schon komplett entfernt ?

    Einen Kommentar schreiben:

Lädt...
X