Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

X2: "Benutzerdefinierte Reinigung" und weiteres #623

Open
aski71 opened this issue Jan 18, 2024 · 52 comments
Open

X2: "Benutzerdefinierte Reinigung" und weiteres #623

aski71 opened this issue Jan 18, 2024 · 52 comments
Assignees
Labels
Enhancement New feature or request Verification Verification

Comments

@aski71
Copy link

aski71 commented Jan 18, 2024

The feature request

Wie im anderen Forum besprochen:
Die App stellt eine Möglichkeit zur Verfügung, benutzerdefinierte Reinigungen zu definieren, zu benennen und zu starten.
Es wäre schön, wenn man solche benutzerdefinierte Reinigungsprogramme aus ioBroker heraus starten könnte.

Which model do you own?

Other model

Which version of the ioBroker adapter are you currently using?

latest

Additional information

Ich nutze einen Deebot T20.

@aski71 aski71 added Enhancement New feature or request Verification Verification labels Jan 18, 2024
@mrbungle64 mrbungle64 self-assigned this Jan 18, 2024
@mrbungle64
Copy link
Owner

@aski71

Du hattest mir im Forum ja schon mal den Payload geschickt:

[
    {
        "state": 0,
        "scid": "5890",
        "type": 0,
        "name": "KF_Mop",
        "mid": "202163637",
        "content": "1,0,Küche,1,0,9,0;1,6,Flur,1,0,9,0;"
    },
    {
        "state": 0,
        "scid": "5346",
        "type": 0,
        "name": "Taeglich",
        "mid": "202163637",
        "content": "1,1,Wohnzimmer,1,0,9,1;1,7,Schlafzimmer,1,0,9,1;"
    }
]

Könntest du mal versuchen herauszufinden, was die 7 Komma-separierten Werte im Property content jeweils bedeuten? Die Werte für die Bereiche sind dann ja noch mal mit einem Semikolon getrennt.

Mein Vermutung:

  • 2.Stelle: ID der Area (map.[mapID].spotAreas.[spotAreaID].spotAreaID)
  • 3.Stelle: Name der Area (map.[mapID].spotAreas.[spotAreaID].spotAreaName)

Du könntest mal schauen, ob einzelne Werte mit Werten unter map.[mapID].spotAreas.[spotAreaID].cleanPreference matcht.

@aski71
Copy link
Author

aski71 commented Jan 26, 2024

Sorry. Ich war jetzt eine Weile nicht hier.
Da mein neuer T20 nicht unter wichtige Möbel passte, habe ich ihn leider zurück gegeben und durch einen X2 ersetzt.
Ich kann die Tests also nur noch für den X2 machen.

Nach erster Beobachtung kommen da nicht zwangsläufig alle Werte rüber, wie beim T20. Ich habe zum Beispiel festgestellt, dass der Gerätestatus nicht aktualisiert wurde, wenn ich den X2 per App gestartet habe.

Auch startet er nicht, wenn man z.B. spotArea="6,7" setzt. Er tut einfach gar nichts.

Komischerweise wird der Gerätestatus aktualisiert, wenn man die automatische Reinigung über den ioBroker startet. So ganz verstanden hab ich es noch nicht.

Ich bin aber gerne bereit, den X2 mit Dir durchzutesten.

Jetzt zu den Zahlen oben:
So wie ich das interpretiere, muss man das wiefolgt lesen:

1,0,Küche,1,0,9,0
1,6,Flur,1,0,9,0

Das ist die jeweilige Einstellung, was er für den Raum machen soll.
Die zweite und dritte Stelle ist genau, was Du sagst.
Die letzte Stelle ist der cleaningMode.

Ich hatte jetzt versucht, mittels getScene die neu definierten benutzerdefinierten Reinigungen des X2 abzurufen.
Leider kriege ich in der responsePayload nichts zurück. Stattdessen wird aber in der Payload zur map was ergänzt.
Nämlich eine id.

{
  "mid": "1882674456",
  "id": "27386302"
}

Muss ich da was anders machen?

@mrbungle64
Copy link
Owner

@aski71

Das mit der id ist soweit ok, dass die eingetragen wird. Da musst du nichts anders machen.
Da hat sich aber wohl am getScene Befehl was geändert ... Mal schauen wie wir das früher oder später rausfinden können.

Du könntest wegen dem Gerätestatus mal jeweils den getCleanInfo_V2 Befehl ausführen (leerer payload).
Da sollte dann ein neuer Status im responsePayload zu finden sein.

@aski71
Copy link
Author

aski71 commented Jan 26, 2024

getCleanInfo_V2 ergibt:

{ "state": "idle", "trigger": "none" }

@mrbungle64
Copy link
Owner

mrbungle64 commented Jan 26, 2024

getCleanInfo_V2 ergibt:

{ "state": "idle", "trigger": "none" }

Sorry, die Info hatte gefehlt: während einer Reinigung wo der Status fehlt bzw. falsch ist 😉

@aski71
Copy link
Author

aski71 commented Jan 26, 2024

Ah, ok. 😀 Beobachte ich dann nächstesmal.
Kann ich noch was bzgl. der benutzerdefinierten Programme und der Spotreinigung beitragen?

@mrbungle64
Copy link
Owner

Ah, ok. 😀 Beobachte ich dann nächstesmal.

Alles klar 👍🏻

Kann ich noch was bzgl. der benutzerdefinierten Programme und der Spotreinigung beitragen?

Wenn du ein iPhone oder iPad hast könntest du mit mitmproxy mitschneiden was von der Ecovacs Home App an die API gesendet wird.

@aski71
Copy link
Author

aski71 commented Jan 26, 2024

Ich habe gestern noch versucht mitmproxy auf einer Linux-Kiste zum Laufen zu kriegen, bin aber bislang gescheitert.
Wenn ich es starte, crashed es, weil es eine Datei nicht findet. Ich finde aber im Netz nix dazu:

ak@experimental:~$ sudo mitmproxy -m socks5 -rawtcp
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mitmproxy/addons/readfile.py", line 63, in load_flows_from_path
    with open(path, "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'awtcp'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mitmproxy/addons/readfile.py", line 72, in doread
    await self.load_flows_from_path(ctx.options.rfile)
  File "/usr/lib/python3/dist-packages/mitmproxy/addons/readfile.py", line 67, in load_flows_from_path
    raise exceptions.FlowReadException(str(e)) from e
mitmproxy.exceptions.FlowReadException: [Errno 2] No such file or directory: 'awtcp'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mitmproxy/master.py", line 86, in run_loop
    loop()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1494, in run
    reraise(*exc_info)
  File "/usr/lib/python3/dist-packages/urwid/compat.py", line 58, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/mitmproxy/addons/readfile.py", line 74, in doread
    raise exceptions.OptionsError(e) from e
mitmproxy.exceptions.OptionsError: [Errno 2] No such file or directory: 'awtcp'

mitmproxy has crashed!
Please lodge a bug report at:
	https://github.com/mitmproxy/mitmproxy

Ich habe es auch mal mit dem Docker Image versucht. Wenn ich das starte, bekomme ich zwar eine Benutzeroberfläche, habe aber keine Ahnung, was ich dann tun muss, damit die Helper App sich verbindet und Daten liefert.

Weißt Du da eventuell Bescheid?
Ich mach auch mal ein Ticket dort auf.

@mrbungle64
Copy link
Owner

@aski71

Ich habe diese Helper App bisher nicht benutzt, von daher habe ich da leider keine Erfahrungswerte.

Auf meinem Linux-Desktop habe ich die Version 6.0.2 von mitmproxy installiert und benutze da "mitmweb".
Auf dem iPad habe ich das Zertifikat von mitmproxy installiert und stelle dann jeweils den Proxy auf den Host mit mitmproxy (und später wieder zurück)

Beim Mitschneiden sind dann die Posts an https://api-app.dc-eu.ww.ecouser.net/api/iot/devmanager.do interessant.

@aski71
Copy link
Author

aski71 commented Jan 27, 2024

@aski71

Ich habe diese Helper App bisher nicht benutzt, von daher habe ich da leider keine Erfahrungswerte.

Auf meinem Linux-Desktop habe ich die Version 6.0.2 von mitmproxy installiert und benutze da "mitmweb". Auf dem iPad habe ich das Zertifikat von mitmproxy installiert und stelle dann jeweils den Proxy auf den Host mit mitmproxy (und später wieder zurück)

Beim Mitschneiden sind dann die Posts an https://api-app.dc-eu.ww.ecouser.net/api/iot/devmanager.do interessant.

Dazu muss ich mitm erstmal zum Laufen bringen. :-)
Was sind Deine Aufrufparameter für mitmweb? Den Proxy hast Du einfach im iOS direkt hinterlegt?

Mittlerweile habe ich eben habe eben mal das Saugen per App gestartet. Der devicestatus ging dabei von charging auf stopped und bleibt auch so.

getCleanInfo_V2 liefert:

{"cleanState":{"category":0,"cid":"122","content":{"subContent":{"subContent":null,"type":"freeClean","value":"1,3;1,4;1,6;1,7"},"type":"freeClean","value":"1,3;1,4;1,6;1,7"},"motionState":"working","router":"plan"},"state":"clean","trigger":"none"}

3,4,6 und 7 sind wohl jeweils die spotAreas aus der map.

@mrbungle64
Copy link
Owner

@aski71

Der "type" freeClean war bisher noch nicht registriert.
Welchem Reinigungsmodus entspricht das in der App?

@aski71
Copy link
Author

aski71 commented Jan 27, 2024

Das ist "Vacuum only". Heißt in der App "Saugen".

@aski71
Copy link
Author

aski71 commented Jan 27, 2024

Habe mitmproxy jetzt auch am Laufen und kann loslegen. :)
Bin aber jetzt erstmal weg.

@aski71
Copy link
Author

aski71 commented Jan 27, 2024

Habe jetzt nochmal ein Saugen und Wischen Programm in zwei Räumen gestartet.
Dann kurz pausiert, weil ich eine virtuelle Grenze in der App bearbeitet habe.
Dann lief er wieder los, blieb aber im ioBroker auf "paused" stehen.

getCleaniInfo_V2 liefert:

{"cleanState":{"category":0,"cid":"122","content":{"subContent":{"subContent":null,"type":"freeClean","value":"1,4;1,6"},"type":"freeClean","value":"1,4;1,6"},"motionState":"working","router":"plan"},"state":"clean","trigger":"none"}

Damit kann man aber ausshließen, dass "freeClean" mit dem Reinigungsmodus zu tun hat. Obiger Post war ja nur Saugen. Und das hier war Saugen und wischen.

@mrbungle64
Copy link
Owner

@aski71

Damit kann man aber ausshließen, dass "freeClean" mit dem Reinigungsmodus zu tun hat. Obiger Post war ja nur Saugen. Und das hier war Saugen und wischen.

Nicht jeder "type" entspricht genau einem (Reinigungs-)Modus.

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

So sieht der clean_V2 Request vi mitmproxy aus, wenn ich in der App zwei Räume auswähle und den X2 zum Saugen und Wischen dorthin schicke:

{ "auth": { "accesstoken": "<accesstoken>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"freeClean\",\"value\":\"1,0;1,3\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"JwixxQ\",\"ts\":\"1706449985203\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Und so der Response:
{ "id": "l6fj", "payloadType": "j", "resp": { "body": { "code": 0, "msg": "ok" }, "header": { "fwVer": "1.70.0", "hwVer": "0.1.1", "pri": 1, "ts": "1706449985207", "tzm": 60, "ver": "0.0.1", "wkVer": "0.1.54" } }, "ret": "ok" }

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Lass mich wissen, was Du brauchst. :)

@mrbungle64
Copy link
Owner

@aski71

{
    "type": "freeClean",
    "value": "1,0;1,3"
}

Sind 0 und 3 die Areas? Was könnte dann der erste Wert sein?
Ist die 1 vielleicht das Wischen?

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Das verstehe ich gerade auch nicht, was die 1 ist.

Wenn ich in der App den Reinigungsmodus umschalte, z.B. von Saugen&Wischen auf Nur Saugen, macht die App einfach einen setWorkMode Request.
Wenn ich die Anzahl der Reinigungsdurchgänge ändere, macht sie einen setCleanCount.
Und wenn ich die Saugleistung verändere, macht sie einen setSpeed.

Die 1 bleibt in allen Fällen im nachfolgenden clean_V2 Request bestehen.

@mrbungle64
Copy link
Owner

mrbungle64 commented Jan 28, 2024

@aski71

Du kannst ja mal folgendes per ioBroker Adapter probieren:
command: clean_V2
payload:

{
    "type": "freeClean",
    "value": "0,0;"
}

Und dann schauen wie und ob sich die 0 auswirkt (Die Area kannst du natürlich ändern, wenn du möchtest)

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Wenn ich freeClean mit 0,0 als payload starte passiert gar nichts.

Ich dachte gerade noch, vielleicht ist es der AI Schalter. Aber der löst gar keinen API Call für sich selbst aus. Und bei einem clean_V2 Request bleibt die 1 auch stehen, wenn ich Räume auswähle.

Wähle ich keine Räume aus, sondern starte nur die Reinigung, passiert bei eingeschaltetem AI folgendes:

{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"entrust\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"mwZdID\",\"ts\":\"1706453337549\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Bei ausgeschaltetem AI folgendes:

{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"auto\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"cKeTff\",\"ts\":\"1706453317560\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Der Unterschied ist also:
type: entrust -> AI ein
type: auto -> AI aus

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Die Benutzerdefinierten Reinigungsprogramme erhält man übrigens mit:

{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "getQuickCommand", "payload": "{\"body\":{\"data\":{\"type\":\"1,2\"}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"RRhVfE\",\"ts\":\"1706455080848\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Beispielsresponse:

{ "id": "sGbU", "payloadType": "j", "resp": { "body": { "code": 0, "data": [ { "array": [ { "content": "1,3,,1,0,2,1,0;1,0,,1,0,2,1,0;1,5,,1,0,2,1,0;1,4,,1,0,2,1,0", "icon": "map-customize-daily", "mid": "1882674456", "name": "Tägliche Reinigung", "qcid": "5187", "state": 0, "type": 1 }, { "content": "1,4,,1,0,2,0,0", "icon": "map-customize-mop", "mid": "1882674456", "name": "Wischen", "qcid": "5632", "state": 0, "type": 1 } ], "mid": "1882674456", "sort": "" } ], "msg": "ok" }, "header": { "fwVer": "1.70.0", "hwVer": "0.1.1", "pri": 1, "ts": "1706455078783", "tzm": 60, "ver": "0.0.1", "wkVer": "0.1.54" } }, "ret": "ok" }

1,3,,1,0,2,1,0

1 ist wieder unbekannt.
3 ist der Raum.

Die erste nach dem Doppelkomma ist die Anzahl der Reinigungsdurchgänge.

Die folgende Ziffer ist die cleanSpeed:
0=Standard
1=Hoch
2=Maximal+
1000=Leise

Dann folgt die Wassermenge für's Moppen: 1, 2 oder 3

Die dann folgende Nummer ist der cleaningMode:
3=Mop after Vacuum
0=Vacuum & Mop
2=Mop only
1=Vacuum only

Die letzte Ziffer ist dann 0 oder 1 für "Intensives Schrubben".

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Starten tut man sie dann mit:

{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"qcClean\",\"value\":\"5187\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"VkDxXV\",\"ts\":\"1706455273056\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Also
type: qcClean
value: -> qcid aus der liste oben

@mrbungle64
Copy link
Owner

@aski71

Beispielsresponse:

{ "id": "sGbU", "payloadType": "j", "resp": { "body": { "code": 0, "data": [ { "array": [ { "content": "1,3,,1,0,2,1,0;1,0,,1,0,2,1,0;1,5,,1,0,2,1,0;1,4,,1,0,2,1,0", "icon": "map-customize-daily", "mid": "1882674456", "name": "Tägliche Reinigung", "qcid": "5187", "state": 0, "type": 1 }, { "content": "1,4,,1,0,2,0,0", "icon": "map-customize-mop", "mid": "1882674456", "name": "Wischen", "qcid": "5632", "state": 0, "type": 1 } ], "mid": "1882674456", "sort": "" } ], "msg": "ok" }, "header": { "fwVer": "1.70.0", "hwVer": "0.1.1", "pri": 1, "ts": "1706455078783", "tzm": 60, "ver": "0.0.1", "wkVer": "0.1.54" } }, "ret": "ok" }

Hier wäre leider wieder herauszufinden wie sich die Werte im Property content zusammensetzen

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Hier wäre leider wieder herauszufinden wie sich die Werte im Property content zusammensetzen

Schau Dir mal meinen Edit des Beitrages "Benutzerdefinierte Programme" an. Da habe ich das auseinander klamüsert.

@mrbungle64
Copy link
Owner

Hier wäre leider wieder herauszufinden wie sich die Werte im Property content zusammensetzen

Schau Dir mal meinen Edit des Beitrages "Benutzerdefinierte Programme" an. Da habe ich das auseinander klamüsert.

Ah ok 👍🏻

@aski71
Copy link
Author

aski71 commented Jan 28, 2024

Sag an, wenn es wieder eine Version zum Testen gibt. :)

@mrbungle64
Copy link
Owner

Wenn ich freeClean mit 0,0 als payload starte passiert gar nichts.

Ich dachte gerade noch, vielleicht ist es der AI Schalter. Aber der löst gar keinen API Call für sich selbst aus. Und bei einem clean_V2 Request bleibt die 1 auch stehen, wenn ich Räume auswähle.

Wähle ich keine Räume aus, sondern starte nur die Reinigung, passiert bei eingeschaltetem AI folgendes:

{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"entrust\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"mwZdID\",\"ts\":\"1706453337549\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Bei ausgeschaltetem AI folgendes:

{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"auto\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"cKeTff\",\"ts\":\"1706453317560\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }

Der Unterschied ist also:
type: entrust -> AI ein
type: auto -> AI aus

Beim Deebot X1 wird entrust benutzt, wenn der "Haushälter-Modus" aktiv ist.
Ist das beim X2 auch so, oder gibt es diesen bei dem Modell gar nicht mehr?

@aski71
Copy link
Author

aski71 commented Feb 1, 2024

Wenn ich freeClean mit 0,0 als payload starte passiert gar nichts.
Ich dachte gerade noch, vielleicht ist es der AI Schalter. Aber der löst gar keinen API Call für sich selbst aus. Und bei einem clean_V2 Request bleibt die 1 auch stehen, wenn ich Räume auswähle.
Wähle ich keine Räume aus, sondern starte nur die Reinigung, passiert bei eingeschaltetem AI folgendes:
{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"entrust\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"mwZdID\",\"ts\":\"1706453337549\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }
Bei ausgeschaltetem AI folgendes:
{ "auth": { "accesstoken": "<token>", "with": "oauth" }, "cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"start\",\"content\":{\"type\":\"auto\"}}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"cKeTff\",\"ts\":\"1706453317560\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j", "td": "q", "toId": "69b9ba3c-6726-48eb-ac7a-26a77ecb5741", "toRes": "Qtjm", "toType": "lf3bn4" }
Der Unterschied ist also:
type: entrust -> AI ein
type: auto -> AI aus

Beim Deebot X1 wird entrust benutzt, wenn der "Haushälter-Modus" aktiv ist. Ist das beim X2 auch so, oder gibt es diesen bei dem Modell gar nicht mehr?

Stimmt. Den hatte der T20 auch. Beim X2 finde ich den nirgends mehr. Es scheint, als habe man den Haushälter-Modus durch "AI Aktivieren" ersetzt. Vielleicht ist das auch die gleiche Funktion, aber AI hört sich halt sexier an, als Haushälter. 😂
Die Beschreibung von AI ist: "Das System generiert automatisch Reinigungsparameter für verschiedene Räume basierend auf der KI-Erkennung von Raumtypen und Bodenmaterialien."

@mrbungle64
Copy link
Owner

@aski71

Wenn ich freeClean mit 0,0 als payload starte passiert gar nichts.

Kann es sein, dass die 1 beim "freeClean" die Anzahl der Reinigungen für die jeweiligen Bereiche ist?

Also dass mit folgendem Payload der Bereich "0" 2x gereinigt wird?

{
    "type": "freeClean",
    "value": "2,0;"
}

@mrbungle64
Copy link
Owner

@aski71

Mit der aktuellen Alpha sollte ein spotArea Clean nun in einen "freeClean" konvertiert werden.
Bedeutet, dass die spotArea Befehle im ioBroker für den X2 funktioniert sollten.

Außerdem sollte die aktuelle Version qcClean und freeClean als Reinigungsstatus erkennen.

@aski71
Copy link
Author

aski71 commented Feb 2, 2024

@aski71

Wenn ich freeClean mit 0,0 als payload starte passiert gar nichts.

Kann es sein, dass die 1 beim "freeClean" die Anzahl der Reinigungen für die jeweiligen Bereiche ist?

Also dass mit folgendem Payload der Bereich "0" 2x gereinigt wird?

{
    "type": "freeClean",
    "value": "2,0;"
}

Die zweite Ziffer ist definitiv der Raum.

Die erste Ziffer war laut mitm immer 1, egal was ich gemacht habe. freeClean hat er ja nur verwendet, wenn ich in der Kartenansicht nur auf Starten gedrückt habe. Dieses Starten geht entweder mit aktiviertem AI (dann gibt es keine weiteren Einstellmöglichkeiten mehr) oder ohne AI (dann kann man manuell wählen, ob man Saugen / Wischen / Saugen & Wischen / Wischen nach dem Saugen will, die Saugkraft, den Wasserdurchfluss , die Durchgänge und das intensive Schrubben. Das waren beim qcClean ja die Werte nach dem Doppelkomma.)

@aski71
Copy link
Author

aski71 commented Feb 2, 2024

@aski71

Mit der aktuellen Alpha sollte ein spotArea Clean nun in einen "freeClean" konvertiert werden. Bedeutet, dass die spotArea Befehle im ioBroker für den X2 funktioniert sollten.

Außerdem sollte die aktuelle Version qcClean und freeClean als Reinigungsstatus erkennen.

Top. Danke. Probier ich gleich morgen.

@aski71
Copy link
Author

aski71 commented Feb 3, 2024

Also der Reinigungsstatus wird bei qcClean schon mal erkannt. freeClean hab ich noch keinen gestartet.
spotArea Clean kann ich nicht bestätigen.
Das sollte doch so funktionieren, dass ich nur z.B. 0,3 in das Objekt spotArea schreibe und er dann loslegt, richtig?
Das 0,3 wird im ioBroker rot und es passiert nichts.

@mrbungle64
Copy link
Owner

mrbungle64 commented Feb 3, 2024

@aski71

spotArea Clean kann ich nicht bestätigen. Das sollte doch so funktionieren, dass ich nur z.B. 0,3 in das Objekt spotArea schreibe und er dann loslegt, richtig? Das 0,3 wird im ioBroker rot und es passiert nichts.

Ich habe den Fehler gefunden. Der nächste Release steht zum Testen bereit 😉

@aski71
Copy link
Author

aski71 commented Feb 3, 2024

spotArea hat jetzt funktioniert.
Allerdings bleibt nach Beendigung der Reinigung der ioBroker device status auf cleaning stehen.
In der App sieht alles ganz normal beendet aus.

@aski71
Copy link
Author

aski71 commented Feb 3, 2024

P.S.: Nach Neustart des Adapters steht der device status jetzt auf charging.
Also fehlte da wohl irgendein Update in der Kommunikation.

@aski71
Copy link
Author

aski71 commented Feb 3, 2024

Noch was, was mir gerade nebenbei auffällt.
Ich habe mir ein Script gebaut, das die Statusänderungen des Device Status protokolliert.
Abhängig davon will ich später ggf. aufeinander aufbauende Reinigungsprogramme starten.

Um 12:47 habe ich die Reinigung gestartet: Status: "cleaning".
Um 12:55 kam er zurück: Status: "returning"
Eine Minute später folgt dann innerhalb einer Sekunde ein Statuswechsel: "charging" - "returning" - "charging"
Ist das normal?

Um 14:11 habe ich den X2 per Sprachsteuerung aus der Station fahren lassen. Der Status ging auf "stopped".
Nach dem wieder reinfahren sprang der Status wild zwischen "returning" - "charging" hin und her und endete schließlich in einem "idle" und dann "charging".
Auch hier die Frage: Ist das normal?

javascript.0
2024-02-03 14:14:59.961	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = charging
2024-02-03 14:14:59.905	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = idle
2024-02-03 14:14:59.905	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = returning
2024-02-03 14:14:57.742	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = charging
2024-02-03 14:14:56.390	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = returning
2024-02-03 14:14:56.252	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = charging
2024-02-03 14:14:55.680	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = returning
2024-02-03 14:14:54.647	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = charging
2024-02-03 14:13:53.298	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = returning
2024-02-03 14:11:19.108	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = stopped
2024-02-03 12:56:16.257	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = charging
2024-02-03 12:56:16.198	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = returning
2024-02-03 12:56:15.495	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = charging
2024-02-03 12:55:18.834	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = returning
2024-02-03 12:47:24.985	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 state = cleaning

@mrbungle64
Copy link
Owner

@aski71

Noch was, was mir gerade nebenbei auffällt. Ich habe mir ein Script gebaut, das die Statusänderungen des Device Status protokolliert. Abhängig davon will ich später ggf. aufeinander aufbauende Reinigungsprogramme starten.

Um 12:47 habe ich die Reinigung gestartet: Status: "cleaning". Um 12:55 kam er zurück: Status: "returning" Eine Minute später folgt dann innerhalb einer Sekunde ein Statuswechsel: "charging" - "returning" - "charging" Ist das normal?

Um 14:11 habe ich den X2 per Sprachsteuerung aus der Station fahren lassen. Der Status ging auf "stopped". Nach dem wieder reinfahren sprang der Status wild zwischen "returning" - "charging" hin und her und endete schließlich in einem "idle" und dann "charging". Auch hier die Frage: Ist das normal?

Im debug Modus solltest man genau sehen, welche Kombination aus "cleanStatus" und "chargeStatus" und einem "trigger" dazu führt. Du kannst das Log im Admin mit "setStatus" filtern. Dann sollte das gut zu sehen sein.


this.adapter.log.debug(`[setStatus] status = '${this.status}' (cleanStatus = '${this.cleanStatus}', chargeStatus = '${this.chargeStatus}')`);

@aski71
Copy link
Author

aski71 commented Feb 4, 2024

@aski71

Noch was, was mir gerade nebenbei auffällt. Ich habe mir ein Script gebaut, das die Statusänderungen des Device Status protokolliert. Abhängig davon will ich später ggf. aufeinander aufbauende Reinigungsprogramme starten.
Um 12:47 habe ich die Reinigung gestartet: Status: "cleaning". Um 12:55 kam er zurück: Status: "returning" Eine Minute später folgt dann innerhalb einer Sekunde ein Statuswechsel: "charging" - "returning" - "charging" Ist das normal?
Um 14:11 habe ich den X2 per Sprachsteuerung aus der Station fahren lassen. Der Status ging auf "stopped". Nach dem wieder reinfahren sprang der Status wild zwischen "returning" - "charging" hin und her und endete schließlich in einem "idle" und dann "charging". Auch hier die Frage: Ist das normal?

Im debug Modus solltest man genau sehen, welche Kombination aus "cleanStatus" und "chargeStatus" und einem "trigger" dazu führt. Du kannst das Log im Admin mit "setStatus" filtern. Dann sollte das gut zu sehen sein.

this.adapter.log.debug(`[setStatus] status = '${this.status}' (cleanStatus = '${this.cleanStatus}', chargeStatus = '${this.chargeStatus}')`);

Bau ich mal mit ein.

@mrbungle64
Copy link
Owner

mrbungle64 commented Feb 4, 2024

@aski71

this.adapter.log.debug(`[setStatus] status = '${this.status}' (cleanStatus = '${this.cleanStatus}', chargeStatus = '${this.chargeStatus}')`);

Bau ich mal mit ein.

Musst du nicht. Dieser Code ist im Adapter drin. Wollte dir damit nur die Debug Meldung zeigen. Du musst also nur auf Debug stellen.

@aski71
Copy link
Author

aski71 commented Feb 4, 2024

Ah verstehe.

Im debug sehe ich, dass mei jedem Waschvorgang offensichtlich Meldungen im Millisekundenbereich kommen. Ist das gewollt?

ecovacs-deebot.0
2024-02-04 17:21:22.442	debug	[setStatus] status = 'drying' (cleanStatus = 'drying', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:22.442	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:19.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:19.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:18.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:18.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:17.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:17.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:16.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:16.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:15.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:15.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:14.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:14.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:13.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:13.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:12.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:12.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:11.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:11.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:10.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:10.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:09.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:09.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:08.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:08.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:07.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:07.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:06.943	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:06.943	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:06.735	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:06.735	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:04.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:04.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:03.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:03.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:02.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:02.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:01.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:01.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:21:00.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:21:00.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:59.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:59.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:58.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:58.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:57.925	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:57.925	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:56.924	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:56.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:55.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:55.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:54.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:54.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:53.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:53.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:52.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:52.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:51.928	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:51.928	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:50.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:50.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:49.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:49.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:48.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:48.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:47.918	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:47.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:46.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:46.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:45.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:45.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:44.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:44.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:43.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:43.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:42.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:42.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:41.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:41.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:40.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:40.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:39.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:39.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:38.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:38.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:37.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:37.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:36.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:36.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:35.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:35.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:34.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:34.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:33.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:33.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:32.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:32.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:31.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:31.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:30.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:30.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:29.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:29.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:28.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:28.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:27.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:27.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:26.920	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:26.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:25.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:25.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:24.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:24.920	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:23.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:23.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:22.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:22.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:21.935	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:21.935	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:20.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:20.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:19.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:19.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:18.924	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:18.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:17.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:17.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:16.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:16.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:15.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:15.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:14.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:14.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:13.921	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:13.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:12.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:12.921	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:11.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:11.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:10.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:10.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:09.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:09.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:08.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:08.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:07.924	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:07.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:06.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:06.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:05.924	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:05.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:04.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:04.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:03.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:03.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:02.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:02.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:01.924	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:01.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:20:00.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:20:00.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:59.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:59.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:58.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:58.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:57.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:57.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:56.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:56.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:55.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:55.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:54.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:54.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:53.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:53.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:52.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:52.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:51.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:51.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:50.919	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:50.919	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:49.918	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:49.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:48.918	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:48.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:48.313	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:48.313	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:48.269	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:48.269	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:45.918	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:45.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:44.926	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:44.926	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:43.918	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:43.918	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:42.968	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:42.967	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:41.923	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:41.923	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:40.922	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:40.922	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:39.924	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:39.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:38.940	debug	[setStatus] status = 'washing' (cleanStatus = 'washing', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:38.940	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:17.441	debug	[setStatus] status = 'charging' (cleanStatus = 'idle', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:17.441	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:19:15.819	debug	[setStatus] status = 'charging' (cleanStatus = 'returning', chargeStatus = 'charging')

ecovacs-deebot.0
2024-02-04 17:19:15.819	debug	[setStatusByTrigger] trigger = 'chargestatus'

ecovacs-deebot.0
2024-02-04 17:18:49.927	debug	[setStatus] status = 'returning' (cleanStatus = 'returning', chargeStatus = 'returning')

ecovacs-deebot.0
2024-02-04 17:18:49.927	debug	[setStatusByTrigger] trigger = 'chargestatus'

ecovacs-deebot.0
2024-02-04 17:18:49.924	debug	[setStatus] status = 'returning' (cleanStatus = 'returning', chargeStatus = 'idle')

ecovacs-deebot.0
2024-02-04 17:18:49.924	debug	[setStatusByTrigger] trigger = 'cleanstatus'

ecovacs-deebot.0
2024-02-04 17:16:56.424	debug	[setStatus] status = 'cleaning' (cleanStatus = 'freeClean', chargeStatus = 'idle')

ecovacs-deebot.0
2024-02-04 17:16:56.424	debug	[setStatusByTrigger] trigger = 'chargestatus'

ecovacs-deebot.0
2024-02-04 17:16:52.301	debug	[setStatus] status = 'cleaning' (cleanStatus = 'freeClean', chargeStatus = 'charging') ](url)

Mein Script, das von device status Änderungen getriggert wird, sagt mir folgenden Ablauf:

javascript.0
2024-02-04 17:21:22.463	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = drying cleanStatus = washing chargeStatus = charging

javascript.0
2024-02-04 17:19:38.964	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = washing cleanStatus = idle chargeStatus = charging

javascript.0
2024-02-04 17:19:15.838	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = charging cleanStatus = returning chargeStatus = returning

javascript.0
2024-02-04 17:18:49.964	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = returning cleanStatus = freeClean chargeStatus = idle

javascript.0
2024-02-04 17:16:52.319	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = cleaning cleanStatus = washing chargeStatus = charging

javascript.0
2024-02-04 17:15:09.461	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = washing cleanStatus = idle chargeStatus = charging

javascript.0
2024-02-04 17:12:53.587	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = charging cleanStatus = returning chargeStatus = returning

javascript.0
2024-02-04 17:12:23.158	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = returning cleanStatus = freeClean chargeStatus = idle

javascript.0
2024-02-04 17:08:37.554	info	script.js.MoX2.setDayCleaningStateMoX2: MoX2 device state = cleaning cleanStatus = idle chargeStatus = charging

Heißt, die drei Status sind scheinbar out of sync und hängen in der Regel dem Device status hinterher? Oder welche Abhängigkeiten gibt es da?

@mrbungle64
Copy link
Owner

@aski71

Im debug sehe ich, dass mei jedem Waschvorgang offensichtlich Meldungen im Millisekundenbereich kommen. Ist das gewollt?

Die meiste Zeit ist es genau 1 Sekunde. Ob das so gewollt ist weiß ich nicht - das kommt ja per MQTT vom Ecovacs Server.
Der GetCleanState_V2 Befehl wird nur initial genau 1x vom Adapter geschickt.

@aski71
Copy link
Author

aski71 commented Feb 5, 2024

Ich hab heute mal versucht mein Programm zu starten, das zuerst alle Räume saugt und danach Küche und Flure mopped.
Dazu warte ich nach dem Starten des Saugprogramms ein einer Schleife jeweils 5 Minuten, bis der Device Status wieder auf charging steht, um sicher zu sein, dass er zurück ist.
Dann stelle ich den Reinigungsmodus auf 0 um und starte ihn erneut mit spotArea.
Letzteres hat heute nicht funktioniert. Die Passage im Debug sieht so aus:

2024-02-05 07:52:16.834 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) state change control.spotArea => 4,6 2024-02-05 07:52:16.836 - ^[[32minfo^[[39m: ecovacs-deebot.0 (1946020) Start spot area cleaning (V2): 4,6 (1x) 2024-02-05 07:52:16.851 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) state change map.currentUsedSpotAreas => 4,6 2024-02-05 07:52:28.081 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [queue] Received CleanReport event: idle 2024-02-05 07:52:28.082 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [setStatusByTrigger] trigger = 'cleanstatus' 2024-02-05 07:52:28.082 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [setStatus] status = 'charging' (cleanStatus = 'idle', chargeStatus = 'charging') 2024-02-05 07:52:28.082 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [queue] Received CleanReport event: idle 2024-02-05 07:52:28.082 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [setStatusByTrigger] trigger = 'cleanstatus' 2024-02-05 07:52:28.082 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [setStatus] status = 'charging' (cleanStatus = 'idle', chargeStatus = 'charging') 2024-02-05 07:52:28.086 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [queue] Received ChargeState event: charging 2024-02-05 07:52:28.086 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [queue] Received ChargeState event: charging 2024-02-05 07:52:28.130 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) state change map.currentUsedSpotAreas => 2024-02-05 07:52:28.131 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) state change map.currentUsedSpotAreas => 2024-02-05 07:52:28.135 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) state change info.extended.cleaningStationActive => false 2024-02-05 07:52:28.136 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) state change info.extended.cleaningStationActive => false 2024-02-05 07:52:28.165 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [queue] Received ChargeState event: charging 2024-02-05 07:52:28.165 - ^[[34mdebug^[[39m: ecovacs-deebot.0 (1946020) [queue] Received ChargeState event: charging

Ideen?
Ich habe danach manuell mit händischer Eingabe von 4,6 gestartet. Das ging.

----- EDIT 6.2.24 -----
Ich habe das Problem heute nicht mehr beobachten können. Das Skript funktionierte einwandfrei.

@aski71
Copy link
Author

aski71 commented Feb 6, 2024

Was jetzt aber tatsächlich nicht geht, ist der stop Befehl.
Ich habe den X2 mittels clean_home=true gestartet und mit clean_home=false wieder nach Hause geschickt.
Dann bleibt er auf pausiert stehen.
Wenn ich dann stop=true setze, wird das nicht angenommen. Passiert gar nichts.

Ich habe mal manuell per App gestoppt und das zur Sicherheit mitgeschnitten:

"payload": "{\"body\":{\"data\":{\"act\":\"stop\"}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"hvIUAH\",\"ts\":\"1707219318055\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}",

@mrbungle64
Copy link
Owner

@aski71

"payload": "{\"body\":{\"data\":{\"act\":\"stop\"}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"hvIUAH\",\"ts\":\"1707219318055\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}",

Der cmdName ist hier leider nicht dabei

@aski71
Copy link
Author

aski71 commented Feb 7, 2024

Sorry. Das war natürlich zu wenig.

Sowohl Pause, als auch Stop ist ein clean_V2.

"cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"stop\"}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"JWAHoy\",\"ts\":\"1707295058152\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}",

"cmdName": "clean_V2", "payload": "{\"body\":{\"data\":{\"act\":\"pause\"}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"rNRBjZ\",\"ts\":\"1707295013916\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}", "payloadType": "j",

Bei Pause bleibt er nur stehen. Bei Stop beendet er nur das Reinigungsprogramm, fährt aber nicht zurück zur Station.

Das geht dann mit:

"cmdName": "charge", "payload": "{\"body\":{\"data\":{\"act\":\"go\"}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"RruYjB\",\"ts\":\"1707295112589\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}",

Gibt es auch eine Möglichkeit, on the fly die Saugstärke umzustellen? Habe da im Adapter nichts gefunden.

"cmdName": "setSpeed", "payload": "{\"body\":{\"data\":{\"speed\":0}},\"header\":{\"channel\":\"iOS\",\"reqid\":\"CUtHfU\",\"ts\":\"1707295249367\",\"ver\":\"0.0.50\",\"m\":\"request\",\"pri\":1,\"tzm\":60}}",
Die Werte sind da auch:1000=low, 0=standard, 1=high, 2=turbo

@mrbungle64
Copy link
Owner

@aski71

Sowohl Pause, als auch Stop ist ein clean_V2.

Ja, das ist das Problem. Bisher wurde dafür noch der "alte" clean Befehl benutzt.
Ich passe das demnächst dann für den X2 an.

Gibt es auch eine Möglichkeit, on the fly die Saugstärke umzustellen? Habe da im Adapter nichts gefunden.

Mit "control.cleanSpeed" kannst du die Saugstärke steuern.

@mrbungle64
Copy link
Owner

@aski71

Was jetzt aber tatsächlich nicht geht, ist der stop Befehl.

Mit der aktuellen Alpha sollte die Stop Funktion nun auch funktionieren.

@aski71
Copy link
Author

aski71 commented Feb 10, 2024

@aski71

Sowohl Pause, als auch Stop ist ein clean_V2.

Ja, das ist das Problem. Bisher wurde dafür noch der "alte" clean Befehl benutzt. Ich passe das demnächst dann für den X2 an.

Gibt es auch eine Möglichkeit, on the fly die Saugstärke umzustellen? Habe da im Adapter nichts gefunden.

Mit "control.cleanSpeed" kannst du die Saugstärke steuern.

Aaaah! Tomaten auf den Augen, sorry. 🤪🤪

@aski71
Copy link
Author

aski71 commented Feb 10, 2024

@aski71

Was jetzt aber tatsächlich nicht geht, ist der stop Befehl.

Mit der aktuellen Alpha sollte die Stop Funktion nun auch funktionieren.

Probier ich gleich morgen, danke.

@aski71
Copy link
Author

aski71 commented Feb 11, 2024

Ja. Kann ich bestätigen: Stop funktioniert nun auch. 👍🏻

@mrbungle64 mrbungle64 changed the title Starten von "Benutzerdefinierte Reinigung" X2: Starten von "Benutzerdefinierte Reinigung" Feb 21, 2024
@mrbungle64 mrbungle64 changed the title X2: Starten von "Benutzerdefinierte Reinigung" X2: "Benutzerdefinierte Reinigung" und weiteres Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Verification Verification
Projects
None yet
Development

No branches or pull requests

2 participants