Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

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

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


  • jonofe
    antwortet
    Ich habe jetzt mal vor dem Setzen des Ausgang A13 im Code ein

    PHP-Code:
    $roboroc->getStatus(); 
    eingefügt. Danach wird der Ausgang sofort korrekt angezeigt auch ohne jegliches sleep() nach dem Ändern der Karte.
    Ich kann nicht beurteilen, ob das wirklich eine sinnvolle Lösung ist, aber vielleicht ein Ansatzpunkt für's Debugging.

    PHP-Code:
                 if ($refreshCleaningMap) {
                     if (
    $roboroc->getMultiMaps() != FALSE) {
                         
    exec_debug (2,outputDebug ("multimaps ",$roboroc->Info_MultiMaps->Info));
                          
    $roboroc->getStatus();// ##### added by Jonofe #####
                         
    logic_setOutput($id12$roboroc->Info_MultiMaps->getAllMaps());
                         
    logic_setOutput($id13$roboroc->Info_Status->getActiveMapIndex());
                     } 

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Da bei mir die Anzeige der aktiven Map an A13 nach wie vor nicht funktioniert, wollte ich nochmal prüfen, ob ich wirklich die aktuelle Version des LBS habe.
    Dabei habe ich aber jetzt etwas den Überblick verloren. Im DL-Portal ist nach meiner Sicht, noch kein Update seit der letzten Diskussion, der letzte Dropbox Link enthält nur noch ein VSE und der vorletzte Dropbox Link führt ins Leere (Daten gelöscht). Gibt es noch einen aktuellen Link zum aktuellen Entsicklungsstand?

    Bei mir hinkt A13 nach wie vor einen Mapwechsel hinterher, d.h.
    1. aktuelle Karte in der App ist 0
    2. Ich starte EDOMI
    3. A13=0 (korrekt)
    4. E18=1
    5. LBS läuft 15 Sekunden
    6. A13=0 (Fehler, sollte 1 sein)
    7. E18=2
    8. LBS läuft 15 Sekunden
    9. A13=1 (Fehler, sollte 2 sein)
    10. E18=3
    11. LBS läuft 15 Sekunden
    12. A13=2 (Fehler, sollte 3 sein)
    13. usw.
    Im Log ist aber zu sehen, dass der map_status durchaus korrekt ausgelesen wird:

    Code:
    2022-07-13 15:46:59    895781    4713    Debug    Cloud-Daten aus Cache verwenden. Kein Login!
    2022-07-13 15:46:59    895962    4713    Debug    V3=sgbgEbuTrtsiSQKrLO45JOMQ/XxO5MH8FCUOetVUmuM0jHqxGNIjw+mEiDFs/WgWA92C4bPz80YY351dmEYKaeNfVL1Dj2lMxruMcGB6U7sS9v6FtwaYMW1ogb5XCLmcI6QbFH6DNneFPkXrS00zUdKHYOET0WR8A9EjYOBf1Oc=V4=tKtBO/5lXWLmhIP15D8KSg==V5=1585584860
    2022-07-13 15:46:59    895997    4713    Debug    cloud->isAccessible:Y-E10=-E11=
    2022-07-13 15:46:59    896018    4713    Debug    RoborockMe:: ip = 10.0.20.105; token = 59654c4f4f656b69384e69576e39596d; SequenceID: 16389
    2022-07-13 15:47:00    179478    26617    Info    Exec ist bereits aktiv. Aufruf Intervall prüfen
    2022-07-13 15:47:00    223186    4713    Debug    roborocMe:: ok
    2022-07-13 15:47:00    223381    4713    Debug    miIO.Info:array(16) {[LF] ["life"]=>[LF] int(42397)[LF] ["uid"]=>[LF] int(1585584860)[LF] ["model"]=>[LF] string(19) "roborock.vacuum.a27"[LF] ["token"]=>[LF] string(32) "59654c4f4f656b69384e69576e39596d"[LF] ["ipflag"]=>[LF] int(1)[LF] ["miio_ver"]=>[LF] string(5) "0.0.9"[LF] ["mac"]=>[LF] string(17) "B0:4A:39:47:90:10"[LF] ["fw_ver"]=>[LF] string(10) "4.1.5_4676"[LF] ["hw_ver"]=>[LF] string(5) "Linux"[LF] ["miio_client_ver"]=>[LF] string(5) "4.1.5"[LF] ["VmPeak"]=>[LF] int(268188)[LF] ["VmRSS"]=>[LF] int(2380)[LF] ["MemFree"]=>[LF] int(31940)[LF] ["ap"]=>[LF] array(4) {[LF] ["ssid"]=>[LF] string(8) "FELD-IOT"[LF] ["bssid"]=>[LF] string(17) "02:0c:42:6e:b5:12"[LF] ["rssi"]=>[LF] string(3) "-49"[LF] ["freq"]=>[LF] int(0)[LF] }[LF] ["netif"]=>[LF] array(3) {[LF] ["localIp"]=>[LF] string(11) "10.0.20.105"[LF] ["mask"]=>[LF] string(13) "255.255.255.0"[LF] ["gw"]=>[LF] string(9) "10.0.20.1"[LF] }[LF] ["miio_times"]=>[LF] array(4) {[LF] [0]=>[LF] int(42397)[LF] [1]=>[LF] int(18)[LF] [2]=>[LF] int(0)[LF] [3]=>[LF] int(42377)[LF] }[LF]}[LF]
    2022-07-13 15:47:16    429142    4713    Debug    Lade Karte 2
    2022-07-13 15:47:16    429279    4713    Debug    Info_Status:array(42) {[LF] ["msg_ver"]=>[LF] int(2)[LF] ["msg_seq"]=>[LF] int(1266)[LF] ["state"]=>[LF] int(8)[LF] ["battery"]=>[LF] int(81)[LF] ["clean_time"]=>[LF] float(40.433333333333)[LF] ["clean_area"]=>[LF] float(28.305)[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(3)[LF] ["water_box_status"]=>[LF] int(1)[LF] ["back_type"]=>[LF] int(-1)[LF] ["wash_phase"]=>[LF] int(0)[LF] ["wash_ready"]=>[LF] int(0)[LF] ["fan_power"]=>[LF] int(104)[LF] ["dnd_enabled"]=>[LF] int(0)[LF] ["map_status"]=>[LF] int(7)[LF] ["is_locating"]=>[LF] int(0)[LF] ["lock_status"]=>[LF] int(0)[LF] ["water_box_mode"]=>[LF] int(203)[LF] ["water_box_carriage_status"]=>[LF] int(1)[LF] ["mop_forbidden_enable"]=>[LF] int(1)[LF] ["camera_status"]=>[LF] int(391)[LF] ["is_exploring"]=>[LF] int(0)[LF] ["home_sec_status"]=>[LF] int(0)[LF] ["home_sec_enable_password"]=>[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(1)[LF] ["dust_collection_status"]=>[LF] int(0)[LF] ["auto_dust_collection"]=>[LF] int(1)[LF] ["avoid_count"]=>[LF] int(114)[LF] ["mop_mode"]=>[LF] int(300)[LF] ["debug_mode"]=>[LF] int(0)[LF] ["collision_avoid_status"]=>[LF] int(1)[LF] ["switch_map_mode"]=>[LF] int(0)[LF] ["dock_error_status"]=>[LF] int(0)[LF] ["charge_status"]=>[LF] int(1)[LF] ["unsave_map_reason"]=>[LF] int(0)[LF] ["unsave_map_flag"]=>[LF] int(2)[LF]}[LF]
    2022-07-13 15:47:16    429342    4713    Debug    Aktueller Status: 0
    2022-07-13 15:47:16    429991    4713    Debug    error-code: 0
    2022-07-13 15:47:16    430979    4713    Debug    sequenceID 16392 V9 =16389
    2022-07-13 15:47:16    556555    4713    Debug    multimaps :array(4) {[LF] ["max_multi_map"]=>[LF] int(4)[LF] ["max_bak_map"]=>[LF] int(1)[LF] ["multi_map_count"]=>[LF] int(4)[LF] ["map_info"]=>[LF] array(4) {[LF] [0]=>[LF] array(5) {[LF] ["mapFlag"]=>[LF] int(0)[LF] ["add_time"]=>[LF] int(1657695467)[LF] ["length"]=>[LF] int(11)[LF] ["name"]=>[LF] string(11) "Erdgeschoss"[LF] ["bak_maps"]=>[LF] array(1) {[LF] [0]=>[LF] array(2) {[LF] ["mapFlag"]=>[LF] int(4)[LF] ["add_time"]=>[LF] int(1657351861)[LF] }[LF] }[LF] }[LF] [1]=>[LF] array(5) {[LF] ["mapFlag"]=>[LF] int(1)[LF] ["add_time"]=>[LF] int(1657443093)[LF] ["length"]=>[LF] int(10)[LF] ["name"]=>[LF] string(10) "Wohnzimmer"[LF] ["bak_maps"]=>[LF] array(1) {[LF] [0]=>[LF] array(2) {[LF] ["mapFlag"]=>[LF] int(5)[LF] ["add_time"]=>[LF] int(1655624938)[LF] }[LF] }[LF] }[LF] [2]=>[LF] array(5) {[LF] ["mapFlag"]=>[LF] int(2)[LF] ["add_time"]=>[LF] int(1657718905)[LF] ["length"]=>[LF] int(12)[LF] ["name"]=>[LF] string(12) "Obergeschoss"[LF] ["bak_maps"]=>[LF] array(1) {[LF] [0]=>[LF] array(2) {[LF] ["mapFlag"]=>[LF] int(6)[LF] ["add_time"]=>[LF] int(1655722052)[LF] }[LF] }[LF] }[LF] [3]=>[LF] array(5) {[LF] ["mapFlag"]=>[LF] int(3)[LF] ["add_time"]=>[LF] int(1656081961)[LF] ["length"]=>[LF] int(6)[LF] ["name"]=>[LF] string(6) "Keller"[LF] ["bak_maps"]=>[LF] array(1) {[LF] [0]=>[LF] array(2) {[LF] ["mapFlag"]=>[LF] int(7)[LF] ["add_time"]=>[LF] int(1655975698)[LF] }[LF] }[LF] }[LF] }[LF]}[LF]
    2022-07-13 15:47:16    756709    4713    Debug    map-url: roboroommap%2F535383824%2F9
    2022-07-13 15:47:16    936170    4713    Debug    mapv1 url= roboroommap%2F535383824%2F9
    2022-07-13 15:47:16    936959    4713    Debug    url to map= https://awsde0.fds.api.xiaomi.com/robomap/roboroommap/535383824/9?Expires=1657721836000&GalaxyAccessKeyId=5271733786445&Signature=bmAkspcmuCMI+gpjkt2LgDoQCe0=
    2022-07-13 15:47:16    937710    4713    Debug    Ausführungszeit: 17.042385816574 [s]
    2022-07-13 15:47:26    855886    4755    Debug    Cloud-Daten aus Cache verwenden. Kein Login!
    2022-07-13 15:47:26    856095    4755    Debug    V3=sgbgEbuTrtsiSQKrLO45JOMQ/XxO5MH8FCUOetVUmuM0jHqxGNIjw+mEiDFs/WgWA92C4bPz80YY351dmEYKaeNfVL1Dj2lMxruMcGB6U7sS9v6FtwaYMW1ogb5XCLmcI6QbFH6DNneFPkXrS00zUdKHYOET0WR8A9EjYOBf1Oc=V4=tKtBO/5lXWLmhIP15D8KSg==V5=1585584860
    2022-07-13 15:47:26    856134    4755    Debug    cloud->isAccessible:Y-E10=-E11=
    2022-07-13 15:47:26    856163    4755    Debug    RoborockMe:: ip = 10.0.20.105; token = 59654c4f4f656b69384e69576e39596d; SequenceID: 16394
    2022-07-13 15:47:27    277333    4755    Debug    roborocMe:: ok
    2022-07-13 15:47:27    277445    4755    Debug    miIO.Info:array(16) {[LF] ["life"]=>[LF] int(42424)[LF] ["uid"]=>[LF] int(1585584860)[LF] ["model"]=>[LF] string(19) "roborock.vacuum.a27"[LF] ["token"]=>[LF] string(32) "59654c4f4f656b69384e69576e39596d"[LF] ["ipflag"]=>[LF] int(1)[LF] ["miio_ver"]=>[LF] string(5) "0.0.9"[LF] ["mac"]=>[LF] string(17) "B0:4A:39:47:90:10"[LF] ["fw_ver"]=>[LF] string(10) "4.1.5_4676"[LF] ["hw_ver"]=>[LF] string(5) "Linux"[LF] ["miio_client_ver"]=>[LF] string(5) "4.1.5"[LF] ["VmPeak"]=>[LF] int(268188)[LF] ["VmRSS"]=>[LF] int(2380)[LF] ["MemFree"]=>[LF] int(30824)[LF] ["ap"]=>[LF] array(4) {[LF] ["ssid"]=>[LF] string(8) "FELD-IOT"[LF] ["bssid"]=>[LF] string(17) "02:0c:42:6e:b5:12"[LF] ["rssi"]=>[LF] string(3) "-49"[LF] ["freq"]=>[LF] int(0)[LF] }[LF] ["netif"]=>[LF] array(3) {[LF] ["localIp"]=>[LF] string(11) "10.0.20.105"[LF] ["mask"]=>[LF] string(13) "255.255.255.0"[LF] ["gw"]=>[LF] string(9) "10.0.20.1"[LF] }[LF] ["miio_times"]=>[LF] array(4) {[LF] [0]=>[LF] int(42424)[LF] [1]=>[LF] int(18)[LF] [2]=>[LF] int(0)[LF] [3]=>[LF] int(42404)[LF] }[LF]}[LF]
    2022-07-13 15:47:27    277517    4755    Debug    Info_Status:array(42) {[LF] ["msg_ver"]=>[LF] int(2)[LF] ["msg_seq"]=>[LF] int(1283)[LF] ["state"]=>[LF] int(8)[LF] ["battery"]=>[LF] int(81)[LF] ["clean_time"]=>[LF] float(40.433333333333)[LF] ["clean_area"]=>[LF] float(28.305)[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(3)[LF] ["water_box_status"]=>[LF] int(1)[LF] ["back_type"]=>[LF] int(-1)[LF] ["wash_phase"]=>[LF] int(0)[LF] ["wash_ready"]=>[LF] int(0)[LF] ["fan_power"]=>[LF] int(104)[LF] ["dnd_enabled"]=>[LF] int(0)[LF] ["map_status"]=>[LF] int(11)[LF] ["is_locating"]=>[LF] int(0)[LF] ["lock_status"]=>[LF] int(0)[LF] ["water_box_mode"]=>[LF] int(203)[LF] ["water_box_carriage_status"]=>[LF] int(1)[LF] ["mop_forbidden_enable"]=>[LF] int(1)[LF] ["camera_status"]=>[LF] int(391)[LF] ["is_exploring"]=>[LF] int(0)[LF] ["home_sec_status"]=>[LF] int(0)[LF] ["home_sec_enable_password"]=>[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(1)[LF] ["dust_collection_status"]=>[LF] int(0)[LF] ["auto_dust_collection"]=>[LF] int(1)[LF] ["avoid_count"]=>[LF] int(114)[LF] ["mop_mode"]=>[LF] int(300)[LF] ["debug_mode"]=>[LF] int(0)[LF] ["collision_avoid_status"]=>[LF] int(1)[LF] ["switch_map_mode"]=>[LF] int(0)[LF] ["dock_error_status"]=>[LF] int(0)[LF] ["charge_status"]=>[LF] int(1)[LF] ["unsave_map_reason"]=>[LF] int(0)[LF] ["unsave_map_flag"]=>[LF] int(2)[LF]}[LF]
    2022-07-13 15:47:27    277551    4755    Debug    Aktueller Status: 0
    2022-07-13 15:47:27    278539    4755    Debug    error-code: 0
    2022-07-13 15:47:27    281379    4755    Debug    sequenceID 16396 V9 =16394
    Es wird Karte 2 geladen. Beim ersten Info_Status Debug ist map_status noch 7 (Karte 1) und beim zweiten ist es aber 11 (Karte 2) was ja auch richtig ist. Nur wird dieser Wert dann vermutlich nicht mehr auf den Ausgang geschickt. Und beim nächsten Wechsel zu Karte 3, wird wohl dann in gleicher Weise zuerst der Ausgang gesetzt (Karte 2) bevor dann der richtige Status (Karte 3) vorhanden ist. Usw. usf.

    E41 steht auf 1 und E1 hat einen minütlichen Trigger.
    Selbst die nachfolgenden Trigger mit E1 (auch nach mehr als 20 Sekunden) machen kein Update von A13. D.h. A13 wird tatsächlich dann nur noch geupdatet, wenn wieder eine Karte gewechselt wird. Jedes Triggern von E1 liefert aber im Log den korrekten Wert von map_status, aber er wird nicht gesetzt.

    Woran könnte das liegen?

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    Schau ich mir heute abend an.
    Zuletzt geändert von sipiyou; 30.06.2022, 17:22.

    Einen Kommentar schreiben:


  • eXec
    antwortet
    sipiyou Hallo Nima,

    ich bekomme am laufenden Band folgende Fehlermeldung:
    2022-06-30 13:29:11 603247 ? 3088 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001929.php | Fehlercode: 8 | Zeile: 1947 | Trying to access array offset on value of type null ERROR
    2022-06-30 13:31:08 502935 ? 6085 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001929.php | Fehlercode: 8 | Zeile: 1944 | Trying to access array offset on value of type null ERROR
    Die Meldungen erfolgen im Wechsel im1-2min Takt, seitdem der Sauger wieder in der Ladestation verweilt.
    Hast du eine Idee?

    Einen Kommentar schreiben:


  • eXec
    antwortet
    Zitat von sipiyou Beitrag anzeigen
    eXec: freut mich, dass ich in guter Erinnerung geblieben bin - und jetzt weiss ich auch, dass ich noch die Heizungsregelung umstellen wollte ...

    Was empfindest du als Sinnvoll ? 2 Koordinaten oder eher Auswahl "oben, mitte, unten" und dann "links, mitte, rechts" ?
    Das klingt doch schon mal sehr gut! Prinzipiell kann dann jeder entscheiden. Bei mir wäre es vermutlich oben oder unten rechts, was natürlich vom Aufbau der Visu abhängt.

    vG André

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    eXec: freut mich, dass ich in guter Erinnerung geblieben bin - und jetzt weiss ich auch, dass ich noch die Heizungsregelung umstellen wollte ...

    Was empfindest du als Sinnvoll ? 2 Koordinaten oder eher Auswahl "oben, mitte, unten" und dann "links, mitte, rechts" ?

    Einen Kommentar schreiben:


  • eXec
    antwortet
    sipiyou Danke, das sieht sehr gut aus. Vielleicht gibt es noch Möglichkeiten den Button für die Anzahl an eine andere Position zu verschieben?

    jonofe mir geht es prinzipiell auch so mit meinem Netzwerk, allerdings habe ich schon eine Session mit Nima gemacht (parallel zum Teamviewer waren wir im Videochat). Waren zwei sehr interessante und amüsante Stunden gewesen!

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    trollmar: Ja, die Segment-ID's sind die Raum-ID's.


    jonofe : Danke für die Informationen, die hab ich in der Tat gebraucht. Per Teamviewer siehst du, was jemand bei dir auf deinem PC macht. Das macht mir das Leben einfacher, weil ich dann gleich sehe, was passiert. Aber so passt es in diesem Fall auch.

    So, hab die Dateien in der Dropbox nochmal erneuert. Sprich: Hilfe um die Tabelle angepasst und auch die Ausgabe A8 ergänzt.
    Bitte testen und um Rückmeldung.

    Was die Map-Updates angeht, so ist es verwunderlich, denn die time()+15 ist nichts anderes als sleep (15).

    Schau mal bitte, ob ein sleep 20 /25/30 besser funktioniert.
    Zuletzt geändert von sipiyou; 26.06.2022, 20:15.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von sipiyou Beitrag anzeigen
    Also, die Zeile hier entfernen

    logic_setVar($id, 12, time() + 15); // Refresh cleaningmaps in 15 seconds v1.01b

    und folgendes einfügen:

    set_time_limit(40);
    sleep(15);
    $refreshCleaningMap = 1;
    Damit funktioiniert das Update an A13 leider nicht. Die vorherige Variante war da zuverlässiger.

    Könnte man nicht alle 3 Sekunden (max. 10 mal) $roboroc->Info_Status->getActiveMapIndex() aufrufen, bis E18==$roboroc->Info_Status->getActiveMapIndex(), also sowas wie:

    PHP-Code:

    $i
    =0;
    while (
    $E[18]['value'] != $roboroc->Info_Status->getActiveMapIndex() && $i<10)
    {
       
    sleep(3);
       
    $i++

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von sipiyou Beitrag anzeigen
    Ich hab gesehen, dass man auch die jeweiligen Status-Meldungen (Wisch /Mop-Status) vom Roboter abrufen kann.
    Hast du am Wochenende abends Zeit, mich per Teamviewer an den Roboter zu lassen ? Würde gerne noch den aktuellen Status abrufen, hier brauche ich aber ein "lebendes Objekt" Schick mir sonst eine E-Mail oder PN. Müsste dann per ssh auf den Edomi-Host um den LBS in der Shell auszuführen und einen editor in der shell.
    Ich bin dieses Wochenende unterwegs, aber zugegebener Maßen auch etwas paranoid mit Zugang zu meinem Netz.

    Aber vermutlich reicht Dir schon die Info über den Status, den ich empfange und im Log sehe.

    Hier die Keys des Status Arrays (Werte wie oben in der Tabelle; gezippte Excel Tabelle im Anhang):

    Saugmodus: fan_power (10X)
    Wischmodus: water_box_mode (20X)
    Wischart: mop_mode (30X)

    Hier mal das komplette Status-Log:

    miIO.Info:array(16) {[LF] ["life"]=>[LF] int(65923)[LF] ["uid"]=>[LF] int(15855#####)[LF] ["model"]=>[LF] string(19) "roborock.vacuum.a27"[LF] ["token"]=>[LF] string(32) "59654c4f4f##########69576e39596d"[LF] ["ipflag"]=>[LF] int(1)[LF] ["miio_ver"]=>[LF] string(5) "0.0.9"[LF] ["mac"]=>[LF] string(17) "B0:4A:##:##:##:##"[LF] ["fw_ver"]=>[LF] string(10) "4.1.5_4676"[LF] ["hw_ver"]=>[LF] string(5) "Linux"[LF] ["miio_client_ver"]=>[LF] string(5) "4.1.5"[LF] ["VmPeak"]=>[LF] int(333348)[LF] ["VmRSS"]=>[LF] int(2136)[LF] ["MemFree"]=>[LF] int(7412)[LF] ["ap"]=>[LF] array(4) {[LF] ["ssid"]=>[LF] string(8) "#####IOT"[LF] ["bssid"]=>[LF] string(17) "02:0c:##:##:##:##"[LF] ["rssi"]=>[LF] string(3) "-46"[LF] ["freq"]=>[LF] int(0)[LF] }[LF] ["netif"]=>[LF] array(3) {[LF] ["localIp"]=>[LF] string(11) "10.#.##.###"[LF] ["mask"]=>[LF] string(13) "255.255.255.0"[LF] ["gw"]=>[LF] string(9) "10.###.###.###"[LF] }[LF] ["miio_times"]=>[LF] array(4) {[LF] [0]=>[LF] int(65922)[LF] [1]=>[LF] int(18)[LF] [2]=>[LF] int(0)[LF] [3]=>[LF] int(65902)[LF] }[LF]}[LF]

    Info_Status:array(42) {[LF] ["msg_ver"]=>[LF] int(2)[LF] ["msg_seq"]=>[LF] int(1215)[LF] ["state"]=>[LF] int(8)[LF] ["battery"]=>[LF] int(100)[LF] ["clean_time"]=>[LF] float(38.566666666667)[LF] ["clean_area"]=>[LF] float(32.4325)[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(3)[LF] ["water_box_status"]=>[LF] int(1)[LF] ["back_type"]=>[LF] int(-1)[LF] ["wash_phase"]=>[LF] int(0)[LF] ["wash_ready"]=>[LF] int(0)[LF] ["fan_power"]=>[LF] int(102)[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(202)[LF] ["water_box_carriage_status"]=>[LF] int(1)[LF] ["mop_forbidden_enable"]=>[LF] int(1)[LF] ["camera_status"]=>[LF] int(391)[LF] ["is_exploring"]=>[LF] int(0)[LF] ["home_sec_status"]=>[LF] int(0)[LF] ["home_sec_enable_password"]=>[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(0)[LF] ["dock_type"]=>[LF] int(1)[LF] ["dust_collection_status"]=>[LF] int(0)[LF] ["auto_dust_collection"]=>[LF] int(1)[LF] ["avoid_count"]=>[LF] int(98)[LF] ["mop_mode"]=>[LF] int(300)[LF] ["debug_mode"]=>[LF] int(0)[LF] ["collision_avoid_status"]=>[LF] int(1)[LF] ["switch_map_mode"]=>[LF] int(0)[LF] ["dock_error_status"]=>[LF] int(0)[LF] ["charge_status"]=>[LF] int(1)[LF] ["unsave_map_reason"]=>[LF] int(0)[LF] ["unsave_map_flag"]=>[LF] int(0)[LF]}[LF]
    Angehängte Dateien

    Einen Kommentar schreiben:

Lädt...
X