NEWS
Ecovacs Deebot Adapter: Status und Feedback
-
@mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
setInterval(
Das war die Ausgabe bei git pull als user
Sorry, aber wenn du was anderes machst als ich dir gesagt habe, dann müssen wir an der Stelle abbrechen...
Irgendwas hängt da inzwischen schief - daher hatte ich vorgeschlagen das Verzeichnis zu löschen und dir eine neue Kopie der aktuellen Quellen zu ziehen.Ich habe zwar nix anderes gemacht als Du sagtest ...
Als root das Verzeichnis ecovacs-deebot.js gelöscht und als normaler user das eingegeben ...git clone https://github.com/mrbungle64/ecovacs-deebot.js.git cd ecovacs-deebot.js npm install
Das Script geändert und fertig. Dann fiel mir das ebengeschrieben auf. Das war's
-
joerg@iob4044:~/ecovacs-deebot.js$ cat library/950type/vacBot.js | grep GetSweepMode case 'GetSweepMode'.toLowerCase(): this.sendCommand(new VacBotCommand.GetSweepMode());
-
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
@mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
setInterval(
Das war die Ausgabe bei git pull als user
Sorry, aber wenn du was anderes machst als ich dir gesagt habe, dann müssen wir an der Stelle abbrechen...
Irgendwas hängt da inzwischen schief - daher hatte ich vorgeschlagen das Verzeichnis zu löschen und dir eine neue Kopie der aktuellen Quellen zu ziehen.Ich habe zwar nix anderes gemacht als Du sagtest ...
Als root das Verzeichnis ecovacs-deebot.js gelöscht und als normaler user das eingegeben ...git clone https://github.com/mrbungle64/ecovacs-deebot.js.git cd ecovacs-deebot.js npm install
Das Script geändert und fertig. Dann fiel mir das ebengeschrieben auf. Das war's
Na ja, geschrieben hast du mir folgendes:
"Das war die Ausgabe bei git pull als user"
Woher soll ich dann wissen, dass du das ebenfalls ausgeführt hast?
Egal, und was kommt jetzt für eine Ausgabe in Bezug auf "getSweepMode" und "getBorderSpin"?
-
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
joerg@iob4044:~/ecovacs-deebot.js$ cat library/950type/vacBot.js | grep GetSweepMode case 'GetSweepMode'.toLowerCase(): this.sendCommand(new VacBotCommand.GetSweepMode());
Ja, genau so soll das aussehen. Also sollte nun auch was zu "getSweepMode" und "getBorderSpin" kommen, wenn du die app2.js wieder startest
-
Am besten wir lassen es!
Ich will nicht Deine Zeit verplempern!Ich gebe das als normaler user ein ...
joerg@iob4044:~/ecovacs-deebot.js/example$ NODE_ENV=dev node ./app2.js
und das kommt raus ...
node:internal/modules/cjs/loader:998 throw err; ^ Error: Cannot find module './settings' Require stack: - /home/joerg/ecovacs-deebot.js/example/tools.js - /home/joerg/ecovacs-deebot.js/example/app2.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15) at Function.Module._load (node:internal/modules/cjs/loader:841:27) at Module.require (node:internal/modules/cjs/loader:1067:19) at require (node:internal/modules/cjs/helpers:103:18) at Object.getSettingsFile (/home/joerg/ecovacs-deebot.js/example/tools.js:16:12) at Object.<anonymous> (/home/joerg/ecovacs-deebot.js/example/app2.js:8:26) at Module._compile (node:internal/modules/cjs/loader:1165:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10) at Module.load (node:internal/modules/cjs/loader:1043:32) at Function.Module._load (node:internal/modules/cjs/loader:878:12) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/joerg/ecovacs-deebot.js/example/tools.js', '/home/joerg/ecovacs-deebot.js/example/app2.js' ] }
-
Hattest du die "deebotExampleSettings.js" mit deinen Zugangsdaten wieder gelöscht?
Falls ja, dann müsstest du die Datei neu erstellen
cp example/settings.js.example ./../ mv ./../settings.js.example ./../deebotExampleSettings.js
bzw. etwas kürzer:
cp example/settings.js.example ./../deebotExampleSettings.js
Und deine Zugangsdaten dort noch mal eintragen
-
Tschuldigung, war mir Kaffee machen
Das gab NODE_ENV=dev node ./app2.js
command getSweepMode payload { id: '35154746' } command getBorderSpin payload { id: '40884317' } success got response for 'getSweepMode' with id '35154746': payload { type: 0 } success got response for 'getBorderSpin' with id '40884317': payload { enable: 0, type: 1 } result BorderSpin: 0
-
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
Tschuldigung, war mir Kaffee machen
Das gab NODE_ENV=dev node ./app2.js
command getSweepMode payload { id: '35154746' } command getBorderSpin payload { id: '40884317' } success got response for 'getSweepMode' with id '35154746': payload { type: 0 } success got response for 'getBorderSpin' with id '40884317': payload { enable: 0, type: 1 } result BorderSpin: 0
Genau das ist das gewünschte Ergebnis
Wenn du das laufen lässt und in der Mobile App die Einstellungen dazu änderst sollte dazu jeweils eine aktualisierte Ausgabe kommen.
-
Dieser Fehler sollte jetzt übrigens auch nicht mehr kommen
warn received error event with code '-2' and message 'resultData.repeat.split is not a function'
Falls doch, sag bitte mal bescheid
-
Falls doch, sag bitte mal bescheid
Ich trau mich es gar nicht zu posten ....
warn got payload for unknown command 'onSimpleARMapSet': {"type":"ar","speechVer":"2.0","mid":"732490256","msid":"1863920572","subsets":[{"name":"Esszimmer1","mssid":"1","subtype":"2","totalCount":0},{"name":"","mssid":"2","subtype":"1","totalCount":0},{"name":"Küche1","mssid":"3","subtype":"5","totalCount":0},{"name":"Schlafzimmer1","mssid":"6","subtype":"3","totalCount":0},{"name":"Flur1","mssid":"8","subtype":"12","totalCount":0},{"name":"Badezimmer2","mssid":"7","subtype":"6","totalCount":0}]} MQTT iot/atr/onSched_V2/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onSched_V2 payload {"header":{"pri":1,"tzm":60,"ts":"1674393364941","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{}} warn received error event with code '-2' and message 'resultData.repeat.split is not a function' event Error resultData.repeat.split is not a function MQTT iot/atr/onNextSched/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onNextSched payload [] warn got payload for unknown command 'onNextSched': [] MQTT iot/atr/onFwBuryPoint-areasInfo/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onFwBuryPoint-areasInfo payload {"header":{"pri":1,"tzm":60,"ts":"1674393364960","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{"gid":"G1674393364934","index":"0000001272","ts":"1674393364934","mid":732490256,"areas":[{"id":1,"name":"Esszimmer1","type":2,"priority":0,"waterLevel":2,"fanLevel":1,"cleanCnt":2},{"id":2,"name":"","type":1,"priority":0,"waterLevel":0,"fanLevel":1,"cleanCnt":1},{"id":3,"name":"Küche1","type":5,"priority":0,"waterLevel":1,"fanLevel":0,"cleanCnt":1},{"id":6,"name":"Schlafzimmer1","type":3,"priority":0,"waterLevel":2,"fanLevel":1,"cleanCnt":2},{"id":8,"name":"Flur1","type":12,"priority":0,"waterLevel":1,"fanLevel":0,"cleanCnt":2},{"id":7,"name":"Badezimmer2","type":6,"priority":0,"waterLevel":1,"fanLevel":0,"cleanCnt":1}]}} warn got payload for unknown command 'onFwBuryPoint-areasInfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674393364960\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674393364934\",\"index\":\"0000001272\",\"ts\":\"1674393364934\",\"mid\":732490256,\"areas\":[{\"id\":1,\"name\":\"Esszimmer1\",\"type\":2,\"priority\":0,\"waterLevel\":2,\"fanLevel\":1,\"cleanCnt\":2},{\"id\":2,\"name\":\"\",\"type\":1,\"priority\":0,\"waterLevel\":0,\"fanLevel\":1,\"cleanCnt\":1},{\"id\":3,\"name\":\"Küche1\",\"type\":5,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1},{\"id\":6,\"name\":\"Schlafzimmer1\",\"type\":3,\"priority\":0,\"waterLevel\":2,\"fanLevel\":1,\"cleanCnt\":2},{\"id\":8,\"name\":\"Flur1\",\"type\":12,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":2},{\"id\":7,\"name\":\"Badezimmer2\",\"type\":6,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1}]}}" MQTT iot/atr/onNextVideoSched/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onNextVideoSched payload [] warn got payload for unknown command 'onNextVideoSched': [] MQTT iot/atr/onFwBuryPoint-bd_mapinfo/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onFwBuryPoint-bd_mapinfo payload {"header":{"pri":1,"tzm":60,"ts":"1674393365440","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{"gid":"G1674393365410","index":"0000001273","ts":"1674393365410","mapinfos":[{"mapid":0,"name":"","savemapType":0,"isActive":0,"isRecentMap":0,"cleanCount":0,"priority":0},{"mapid":732490256,"name":"OG Loft","savemapType":1,"isActive":1,"isRecentMap":1,"cleanCount":2,"priority":28},{"mapid":0,"name":"","savemapType":2,"isActive":0,"isRecentMap":0,"cleanCount":0,"priority":0},{"mapid":0,"name":"","savemapType":3,"isActive":0,"isRecentMap":0,"cleanCount":0,"priority":0}]}} warn got payload for unknown command 'onFwBuryPoint-bd_mapinfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674393365440\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674393365410\",\"index\":\"0000001273\",\"ts\":\"1674393365410\",\"mapinfos\":[{\"mapid\":0,\"name\":\"\",\"savemapType\":0,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":732490256,\"name\":\"OG Loft\",\"savemapType\":1,\"isActive\":1,\"isRecentMap\":1,\"cleanCount\":2,\"priority\":28},{\"mapid\":0,\"name\":\"\",\"savemapType\":2,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":0,\"name\":\"\",\"savemapType\":3,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0}]}}" MQTT iot/atr/onFwBuryPoint-bd_setting-evt/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onFwBuryPoint-bd_setting-evt payload {"header":{"pri":1,"tzm":60,"ts":"1674393372891","ver":"0.0.1","fwVer":"2.3.9","hwVer":"0.1.1","wkVer":"0.1.54"},"body":{"gid":"G1674393372885","index":"0000001274","ts":"1674393372885","orig":{"personalClean":1},"new":{"personalClean":0}}} MQTT iot/atr/onCleanPreference/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onCleanPreference payload { enable: 0 } result cleanPreference: 0 MQTT iot/atr/onCustomAreaMode/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onCustomAreaMode payload { sweepMode: 0 } warn got payload for unknown command 'onCustomAreaMode': {"sweepMode":0} MQTT iot/atr/onEvt/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onEvt payload { code: 1141 } warn Unhandled Evt code: '1141' MQTT iot/atr/onSweepMode/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onSweepMode payload { type: 0 } MQTT iot/atr/onBorderSpin/98904d32-fe49-4040-92a1-2a7e49d2cd82/1vxt52/bCpp/j MQTT onBorderSpin payload { enable: 0, type: 1 } result BorderSpin: 0
-
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
Ich trau mich es gar nicht zu posten ....
Ist ja nicht schlimm, dann muss ich da halt noch mal ran
warn received error event with code '-2' and message 'resultData.repeat.split is not a function'
bekomme ich schon noch gefixt
warn Unhandled Evt code: '1141'
ist kein Fehler - der Code könnte halt irgendwann mal "entschlüsselt" werden
Sonst noch was in deiner Ausgabe was dir "Sorgen" macht?
-
Wenn du möchtest kannst du mal die Version 1.4.12-alpha.10 von GitHub testen, ob wir den "Ecken-Tiefenreinigung" Modus ("control.extended.edgeDeepCleaning") und den "Nur wischen" Modus ("control.extended.mopOnlyMode") erfolgreich integriert bekommen haben
-
@mrbungle64 sagte in Ecovacs Deebot Adapter: Status und Feedback:
Wenn du möchtest kannst du mal die Version 1.4.12-alpha.10 von GitHub testen, ob wir den "Ecken-Tiefenreinigung" Modus ("control.extended.edgeDeepCleaning") und den "Nur wischen" Modus ("control.extended.mopOnlyMode") erfolgreich integriert bekommen haben
@jm3west
In der 1.4.12-alpha.11 gibt es nun auch den Datenpunkt "info.extended.sweepMode" für den "Wischmodus" - der ist aber aktuell nur read-only. Da müssten wir erstmal schauen, was es mit diesem "CustomAreaMode" noch so alles auf sich hat, bevor das auch in die andere Richtung übertragen werden kann. Ich kann das hier ja aktuell leider nicht nachstellen bzw. testen. -
@mrbungle64 mal was ganz vertrauensvolles.
Wie wäre es wenn ich Dir eine Freigabe erteilen würde.
Könntest Du dann bei Dir debuggen (Technisch gesehen).Nicht das ich kein Interesse mehr hätte. Aber es gibt da noch einiges an Datenpunkte die nicht funktionieren!
Wie zB. Multiple spot-Reinigung (Nur Ess- und Wohnzimmer). Da spuckt der Debugger auch Warnungen aus.Andererseits will ich aber auch nicht das Deine Programmierarbeit was exklusives für meinen OMNI X1 wird!!!
-
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
@mrbungle64 mal was ganz vertrauensvolles.
Wie wäre es wenn ich Dir eine Freigabe erteilen würde.
Könntest Du dann bei Dir debuggen (Technisch gesehen).Das wäre eine gute Idee
Geht das auch sogar direkt? Ich habe nämlich heute noch einen Tag frei - ab morgen nicht mehr.
Du kannst das Passwort ja temporär ändern und mir die Zugangsdaten per PM (oder per E-Mail an [entfernt]) schicken. -
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
@mrbungle64 mal was ganz vertrauensvolles.
Wie wäre es wenn ich Dir eine Freigabe erteilen würde.
Könntest Du dann bei Dir debuggen (Technisch gesehen).Nicht das ich kein Interesse mehr hätte. Aber es gibt da noch einiges an Datenpunkte die nicht funktionieren!
Meinst du Datenpunkte die nicht funktionieren - oder Datenpunkte die fehlen (das ist ja ein Unterschied)?
Wie zB. Multiple spot-Reinigung (Nur Ess- und Wohnzimmer). Da spuckt der Debugger auch Warnungen aus.
Ja, diese Funktion wird recht neu sein
Andererseits will ich aber auch nicht das Deine Programmierarbeit was exklusives für meinen OMNI X1 wird!!!
Ist ja kein Problem - du bist ja nicht der einzige mit einem Deebot X1
-
Freigabe ist raus
-
Ich nehme aber an das es nicht funktioniert. Da die Freigabe ohne Passwort erfolgt!
-
@jm3west sagte in Ecovacs Deebot Adapter: Status und Feedback:
Ich nehme aber an das es nicht funktioniert. Da die Freigabe ohne Passwort erfolgt!
Ja, das hilft uns nur eingeschränkt weiter
-
Ich habe in einer ruhigen Stunde nochmal die iOS App zur Hand genommen und durchgeklickt.
Optionen aus iOS App heraus
Reinigungseinstellungen > StandardWischmodus (Scheinbar Standard und Anpassen weil payload der gleiche ist)
warn got payload for unknown command 'onCustomAreaMode': {"sweepMode":0}
Reinigungseinstellungen > Anpassen > Bevorzugter Bereich
Da für jedes(n) Zimmer/Bereich drei Einstellmöglichkeiten gibt (Reinigen: 1x/2x; Saugkraft: Leise/Standard/Maximal/Maximal+; Wasserdurchflussrate: niedrig/mittel/hoch) werden diese immer als Gesamtes gespeichert, auch wenn zB. nur 2x reinigen ausgewählt wird.
Somit sind die unbekannten payloads immer sie gleichen.warn got payload for unknown command 'onSimpleARMapSet': {"type":"ar","speechVer":"2.0","mid":"732490256","msid":"1863920572","subsets":[{"name":"Esszimmer1","mssid":"1","subtype":"2","totalCount":0},{"name":"","mssid":"2","subtype":"1","totalCount":0},{"name":"Küche1","mssid":"3","subtype":"5","totalCount":0},{"name":"Schlafzimmer1","mssid":"6","subtype":"3","totalCount":0},{"name":"Flur1","mssid":"8","subtype":"12","totalCount":0},{"name":"Badezimmer2","mssid":"7","subtype":"6","totalCount":0}]}
warn got payload for unknown command 'onFwBuryPoint-areasInfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674563558544\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674563558521\",\"index\":\"0000000123\",\"ts\":\"1674563558521\",\"mid\":732490256,\"areas\":[{\"id\":1,\"name\":\"Esszimmer1\",\"type\":2,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":2},{\"id\":2,\"name\":\"\",\"type\":1,\"priority\":0,\"waterLevel\":0,\"fanLevel\":1,\"cleanCnt\":1},{\"id\":3,\"name\":\"Küche1\",\"type\":5,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1},{\"id\":6,\"name\":\"Schlafzimmer1\",\"type\":3,\"priority\":0,\"waterLevel\":2,\"fanLevel\":1,\"cleanCnt\":2},{\"id\":8,\"name\":\"Flur1\",\"type\":12,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":2},{\"id\":7,\"name\":\"Badezimmer2\",\"type\":6,\"priority\":0,\"waterLevel\":1,\"fanLevel\":0,\"cleanCnt\":1}]}}"
warn got payload for unknown command 'onFwBuryPoint-bd_mapinfo': "{\"header\":{\"pri\":1,\"tzm\":60,\"ts\":\"1674563558803\",\"ver\":\"0.0.1\",\"fwVer\":\"2.3.9\",\"hwVer\":\"0.1.1\",\"wkVer\":\"0.1.54\"},\"body\":{\"gid\":\"G1674563558794\",\"index\":\"0000000124\",\"ts\":\"1674563558794\",\"mapinfos\":[{\"mapid\":0,\"name\":\"\",\"savemapType\":0,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":732490256,\"name\":\"OG Loft\",\"savemapType\":1,\"isActive\":1,\"isRecentMap\":1,\"cleanCount\":2,\"priority\":26},{\"mapid\":0,\"name\":\"\",\"savemapType\":2,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0},{\"mapid\":0,\"name\":\"\",\"savemapType\":3,\"isActive\":0,\"isRecentMap\":0,\"cleanCount\":0,\"priority\":0}]}}"
Das sind eingentlich alle payloads die unbekannt sind.
Die die unbekannt waren hast Du/wir ja schon erörtert.Was mir noch aufgefallen ist.
Der Datenpunkt ecovacs-deebot.0.control.extended.volume wird von Dir mit Wert 1-10 vorgegeben.
Denoch lässt sich in der iOS App der Wert von 0-10 ändern.
So wird es auch im datenpunkt ecovacs-deebot.0.control.extended.volume gesetzt.
Mal angenommen ich stelle in der iOS App die Lautstärke auf 5 und setzte sie danach im Datenpunkt ecovacs-deebot.0.control.extended.volume auf 0 springt dieser nach einigen Sekunden wieder auf 5