iobroker-community-adapters / ioBroker.mihome-vacuum

Control your Xiaomi vacuum cleaner
MIT License
109 stars 51 forks source link

Unable to bypass currently active cleaning process (Missing stopVacuuming) #784

Closed sd-nxp closed 9 months ago

sd-nxp commented 1 year ago

Describe the bug
Szenario:

=> Unable to bypass currently active cleaning process without sending the robot to the docking station.

To Reproduce

Expected behavior
Provide stopVacuuming() method in control.

Screenshots & Logfiles
grafik

Versions:

mihome-vacuum.0 2023-05-12 15:13:10.495 info should trigger cleaning segment 17, but is currently active(18). Add to queue
mihome-vacuum.0 2023-05-12 15:12:59.445 warn State value to set for "mihome-vacuum.0.control.water_box_mode" has value "207" greater than max "204"
mihome-vacuum.0 2023-05-12 15:12:55.977 info should trigger cleaning segment 19, but is currently active(18). Add to queue
mihome-vacuum.0 2023-05-12 15:12:39.291 warn State value to set for "mihome-vacuum.0.control.water_box_mode" has value "207" greater than max "204"
mihome-vacuum.0 2023-05-12 15:12:38.743 warn State value to set for "mihome-vacuum.0.control.water_box_mode" has value "207" greater than max "204"
mihome-vacuum.0 2023-05-12 15:12:38.659 warn State value to set for "mihome-vacuum.0.control.water_box_mode" has value "207" greater than max "204"
mihome-vacuum.0 2023-05-12 15:12:38.652 info trigger cleaning segment 22
dirkhe commented 1 year ago

the robot does not know stop, only home or pause. Try this while cleaning room1, send cleanjng room2 (will be add to aueue), send home. The queue function is implemented by me, so if the robot send status change, the next room ftom queue will start. So it could be, that it takes some sec until it dtart the next room. But ee can not change the firmware

IchBauPV commented 11 months ago

gelöst/solved: Zonenreinigung unterbrechen, und andere Zonenreinigung starten ohne Rückkehr an dockingstation / Stop command senden

Getestet für Mi-Roboter 1, node.JS 18.18.2, mihome vacuum Adapter 3.9.5

Man muss in beim mihome vacuum Adapter (Instanz, Settings) den Haken bei "Sende eigene Befehle" setzen. Dadurch erscheint in der Objektliste unter control zusätzlich der Eintrag "x_send_command". Wenn man hier den Wert stop_zoned_clean einträgt, wird die Zonenreinigung gestoppt. Im Anschluss kann unmittelbar eine neue Zonenreinigung gestartet werden. Man kann dann die beiden Befehle auch in einer Szene zusammenfassen, um eine laufende Zonenreinigung direkt durch eine neue zu ersetzen. Nach meinen Tests muss der Abstand von Stop command und neuem Aufruf mindestens eine Sekunde besser 1,5 Sekunden betragen. Das funktioniert übrigens auch, wenn der Sauger sich auf dem Weg zur Dockingstation befindet. Hier muss vorher einmal der Pause Befehl gesendet werden. Danach kann wie oben beschrieben eine neue Zone gewählt werden. Wichtig ist, dass der Roboter sich schon auf dem Rückweg befindet, und nicht in der Dreh/Suchphase, die muss man erst abwarten.