Closed gigasi closed 4 years ago
Hallo @gigasi,
ja das ist geplant. Ich persönlich habe aber leider keinen Ozmo 950 und dieses Modell kommuniziert teilweise über in anderes Protokoll als meine beiden Deebot Geräte. Ich bereite aber gerade etwas vor, so dass man mich da ein bisschen unterstützen kann die bisher noch nicht funktionierenden Modelle wie den Ozmo 950 ebenfalls lauffähig zu machen.
Gibt es denn eine SDK api Seite? Vielleicht kann ich behilflich sein
Hallo @gigasi,
vom Hersteller gibt es leider keine frei zugängliche Doku der API. Die API der verwendeten Library zum Ansteuern der Devices ist hier ein Stück weit beschrieben. Der spezifische Code für u.a. den Ozmo 950 ist hier zu finden. Den habe ich auf Basis von 2 Python Modulen "trocken" entwickelt - also ohne ein entsprechendes Gerät zum Testen zu haben.
Ich würde mich da über Unterstützung natürlich freuen :)
hi, ich habe ein ozmo 900 und wenn du hilfe brauchst könnt ich dir helfen. ich habe die steuerung mit bespoken und alexa adapter momentan gelöst.
hi, ich habe ein ozmo 900 und wenn du hilfe brauchst könnt ich dir helfen. ich habe die steuerung mit bespoken und alexa adapter momentan gelöst.
Hi @rebel1985, sehr gerne :)
Es wäre cool, wenn du mal die example app ausführen könntest, welche zu der Library gehört:
git clone https://github.com/mrbungle64/ecovacs-deebot.js.git
cd ecovacs-deebot.js
npm install
cd example
email und password in der folgenden Datei anpassen und dann ausführen:
node app2.js
Wäre das möglich, so dass Du mir ein paar Ausgaben schicken oder posten kannst?
Btw: bei 'Failure code 0002' einfach so lange erneut ausführen, bis es funktioniert. Dieser Fehler wird recht oft (gefühlt random) vom Ecovacs Server zurückgegeben ...
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:13711) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '9030e08d-4239-4719-99c5-81b4a4e7e44f', name: 'E0001206219602612311', class: 'y79a7u', resource: 'ai7a', nick: 'DeeBot', company: 'eco-ng', bindTs: 1576692497798 } (node:13711) [DEP0107] DeprecationWarning: tls.convertNPNProtocols() is deprecated. vacbot ready [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:19835) [DEP0005] DeprecationWarning: Buffer() is deprecated due to securit y and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '9030e08d-4239-4719-99c5-81b4a4e7e44f', name: 'E0001206219602612311', class: 'y79a7u', resource: 'ai7a', nick: 'DeeBot', company: 'eco-ng', bindTs: 1576692497798 } (node:19835) [DEP0107] DeprecationWarning: tls.convertNPNProtocols() is deprecat ed. vacbot ready
Hallo @rebel1985,
vielen Dank - das hat mir schon mal geholfen einen Bug zu fixen :) Ich melde mich dann wieder wenn es weiter gehen kann
Hi, ich hab auch einen 950 und bin gerne bereit zu testen.
Hi @boriswerner,
sehr gerne :)
Anleitung siehe https://github.com/mrbungle64/ioBroker.ecovacs-deebot/issues/7#issuecomment-582109526
Hallo @rebel1985,
vielen Dank - das hat mir schon mal geholfen einen Bug zu fixen :) Ich melde mich dann wieder wenn es weiter gehen kann
Hi @rebel1985,
ich habe ein paar Anpassungen vorgenommen. Die Library sollte nun zuverlässiger MQTT devices erkennen und damit hoffentlich verwertbares liefern.
Hallo @rebel1985, vielen Dank - das hat mir schon mal geholfen einen Bug zu fixen :) Ich melde mich dann wieder wenn es weiter gehen kann
Hi @rebel1985,
ich habe ein paar Anpassungen vorgenommen. Die Library sollte nun zuverlässiger MQTT devices erkennen und damit hoffentlich verwertbares liefern.
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:20020) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '9030e08d-4239-4719-99c5-81b4a4e7e44f', name: 'E0001206219602612311', class: 'y79a7u', resource: 'ai7a', nick: 'DeeBot', company: 'eco-ng', bindTs: 1576692497798 } (node:20020) [DEP0107] DeprecationWarning: tls.convertNPNProtocols() is deprecated. vacbot ready [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable [EcovacsXMPP] Couldn't reach the vac: [404] recipient-unavailable
@rebel1985, hast du dir den aktuellen Stand geholt? Das sieht mir noch nach dem alten Code aus.
@rebel1985, hast du dir den aktuellen Stand geholt? Das sieht mir noch nach dem alten Code aus.
mache gerade noch mal ein update und versuche es dann noch mal
git clone https://github.com/mrbungle64/ecovacs-deebot.js.git -> kann er nciht ausführen da schon vorhanden, muss ich da noch was löschen aufm pi ?
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:16717) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '9030e08d-4239-4719-99c5-81b4a4e7e44f', name: 'E0001206219602612311', class: 'y79a7u', resource: 'ai7a', nick: 'DeeBot', company: 'eco-ng', bindTs: 1576692497798 } (node:16717) [DEP0107] DeprecationWarning: tls.convertNPNProtocols() is deprecated. vacbot ready
Folgendes kommt bei mir: node app2.js eu (node:25844) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: 'e0bc19bb-8cb1-43e3-8503-e9f810e35d36', name: 'E0001279619603050031', class: 'yna5xi', resource: 'BTKk', nick: 'Deetje', company: 'eco-ng', bindTs: 1578214369902 } vacbot ready
Nach einigen Sekunden dann immer wieder (in Kolonnen) [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500
@rebel1985, hast du dir den aktuellen Stand geholt? Das sieht mir noch nach dem alten Code aus.
mache gerade noch mal ein update und versuche es dann noch mal
git clone https://github.com/mrbungle64/ecovacs-deebot.js.git -> kann er nciht ausführen da schon vorhanden, muss ich da noch was löschen aufm pi ?
Da die app2.js geändert werden muss und der Konflikt aufgelöst werden müsste, ist es wahrscheinlich das schnellste das Verzeichnis zu löschen und dann wieder git clone auszuführen.
Folgendes kommt bei mir: node app2.js eu (node:25844) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: 'e0bc19bb-8cb1-43e3-8503-e9f810e35d36', name: 'E0001279619603050031', class: 'yna5xi', resource: 'BTKk', nick: 'Deetje', company: 'eco-ng', bindTs: 1578214369902 } vacbot ready
Nach einigen Sekunden dann immer wieder (in Kolonnen) [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500
@boriswerner, könntest du das mal mit NODE_ENV=development ausführen und den Abschnitt posten wo der Fehlercode 500 auftaucht? Aber bitte aufpassen, da könnte u.a. das Passwort bei der Ausgabe mit dabei sein - das solltest du vorher löschen/ersetzen ;)
Hier mal der Teil nach dem "vacbot ready", ich hab mal alles, was irgendwie nach persönlicher Info aussah ersetzt ;-)
(Btw, ich hab versucht, das als Code zu formatieren, dann hat's mir aber alle Zeilenumbrüche rausgehauen, daher jetzt "normal" formatiert... wenn es anders geht, gerne Hinweise geben)
vacbot ready
[VacBot] action: GetCleanState
[VacBot] Sending command GetCleanState
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/iot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json","Content-Length":291}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetCleanState","payload":"GetChargeState
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/iot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json","Content-Length":292}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetChargeState","payload":"GetBatteryInfo
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/iot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json","Content-Length":292}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetBatteryInfo","payload":"GetCleanState
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/iot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json","Content-Length":291}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetCleanState","payload":"GetChargeState
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/iot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json","Content-Length":292}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetChargeState","payload":"GetBatteryInfo
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/iot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json","Content-Length":292}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetBatteryInfo","payload":"
Hier mal der Teil nach dem "vacbot ready", ich hab mal alles, was irgendwie nach persönlicher Info aussah ersetzt ;-) (Btw, ich hab versucht, das als Code zu formatieren, dann hat's mir aber alle Zeilenumbrüche rausgehauen, daher jetzt "normal" formatiert... wenn es anders geht, gerne Hinweise geben) vacbot ready
@boriswerner Vielen Dank - ich schaue mir das heute Abend dann mal an :)
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:9209) [DEP0005] DeprecationWarning: Buffer() is deprecated due to securit and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or uffer.from() methods instead. { did: '9030e08d-4239-4719-99c5-81b4a4e7e44f', name: 'E0001206219602612311', class: 'y79a7u', resource: 'ai7a', nick: 'DeeBot', company: 'eco-ng', bindTs: 1576692497798 } [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} vacbot ready [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [EcovacsMQTT] failure code: {errno} [xmldom error] invalid doc source @#[line:0,col:undefined] /home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:259 let command = as_dict['key']; ^
TypeError: Cannot read property 'key' of undefined at EcovacsMQTT._handle_ctl_mqtt (/home/pi/ecovacs-deebot.js/library/ecovacsQTT.js:259:34) at MqttClient.EcovacsMQTT.client.on (/home/pi/ecovacs-deebot.js/library/ecoacsMQTT.js:82:18) at MqttClient.emit (events.js:198:13) at MqttClient._handlePublish (/home/pi/ecovacs-deebot.js/node_modules/mqtt/ib/client.js:1162:12) at MqttClient._handlePacket (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lb/client.js:351:12) at work (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lib/client.js:283:12) at Writable.writable._write (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lb/client.js:294:5) at doWrite (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lib/_steam_writable.js:428:64) at writeOrBuffer (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lb/_stream_writable.js:417:5) at Writable.write (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/ib/_stream_writable.js:334:11)
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js
@rebel1985,
könnest Du das bitte mal folgendermaßen starten
NODE_ENV=dev node app2.js
und mir die Zeile die mit
[EcovacsMQTT] message:
anfängt schicken?
Das können auch mehere Zeilen sein. Am besten wäre es wenn der Bot mal - während das läuft - von der Mobile App aus mal gestartet wird - und auch mal eine Bereichsreinigung gestartet wird etc.
Vorher auch noch mal Verzeichnis löschen und dann wieder git clone
ausführen und bitte auch aufpassen, dass da kein Passwort bei der Ausgabe mit dabei ist ;)
save 1.txt save 2.txt Save 3.txt Save 4.txt save 5.txt
habe jetzt mal mehrere fahrten gemacht, aber irgendwie setzt der befehl bei der benutzer reinigung die aufgabe auf reset und bmach da eine raum/bereichsreinigung draus.
[EcovacsMQTT] Connecting as dletsrz9fe3976d4@ecouser to mqtts://mq-eu.ecouser.ne t:8883
[VacBot] action: Clean
initCmd [object Object]
[VacBot] Sending command Clean
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":364}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"Clean","payload":"<ctl id=\"7352135\" act=\"s\"><clean type=\"auto\ " speed=\"standard\" act=\"s\"/>","payloadType":"x","td":"q","toId":"9030e 08d-4239-4719-99c5-81b4a4e7e44f","toRes":"ai7a","toType":"y79a7u"}
[VacBot] action: GetLifeSpan
[VacBot] Sending command GetLifeSpan
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":319}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetLifeSpan","payload":"<ctl type=\"Brush\" id=\"9482468\"/>","payl oadType":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toRes":"ai7 a","toType":"y79a7u"}
[VacBot] action: GetLifeSpan
[VacBot] Sending command GetLifeSpan
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":324}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetLifeSpan","payload":"<ctl type=\"SideBrush\" id=\"28119609\"/>", "payloadType":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toRes" :"ai7a","toType":"y79a7u"}
[VacBot] action: GetLifeSpan
[VacBot] Sending command GetLifeSpan
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":326}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetLifeSpan","payload":"<ctl type=\"DustCaseHeap\" id=\"7108357\"/> ","payloadType":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toRe s":"ai7a","toType":"y79a7u"}
[EcovacsMQTT] call failed with {"ret":"ok","resp":"GetBatteryInfo
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":292}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetBatteryInfo","payload":"GetCleanState
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":291}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetCleanState","payload":"GetChargeState
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":292}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetChargeState","payload":"GetLifeSpan
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":320}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetLifeSpan","payload":"<ctl type=\"Brush\" id=\"42113622\"/>","pay loadType":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toRes":"ai 7a","toType":"y79a7u"}
[VacBot] action: GetLifeSpan
[VacBot] Sending command GetLifeSpan
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":324}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetLifeSpan","payload":"<ctl type=\"SideBrush\" id=\"27986002\"/>", "payloadType":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toRes" :"ai7a","toType":"y79a7u"}
[VacBot] action: GetLifeSpan
[VacBot] Sending command GetLifeSpan
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":327}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetLifeSpan","payload":"<ctl type=\"DustCaseHeap\" id=\"94632901\"/ >","payloadType":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toR es":"ai7a","toType":"y79a7u"}
[VacBot] action: GetWaterLevel
[VacBot] Sending command GetWaterPermeability
[EcovacsMQTT] c: [object Object]
[EcovacsMQTT] Calling https://portal-eu.ecouser.net/api/iot/devmanager.do
[EcovacsMQTT] Sending POST to {"hostname":"portal-eu.ecouser.net","path":"/api/i ot/devmanager.do","method":"POST","headers":{"Content-Type":"application/json"," Content-Length":313}}
[EcovacsMQTT] Sending {"auth":{"realm":"ecouser.net","resource":"afa8bd82","toke n":"tKTij1aMT5iLW9hLfchYnyFky0nuy9pf","userid":"dletsrz9fe3976d4","with":"users" },"cmdName":"GetWaterPermeability","payload":"<ctl id=\"9045214\"/>","payloadTyp e":"x","td":"q","toId":"9030e08d-4239-4719-99c5-81b4a4e7e44f","toRes":"ai7a","to Type":"y79a7u"}
vacbot ready
[EcovacsMQTT] message:
TypeError: this.end is not a function at MqttClient.EcovacsMQTT.client.on (/home/pi/ecovacs-deebot.js/library/ecov acsMQTT.js:83:18) at MqttClient.emit (events.js:198:13) at MqttClient._handlePublish (/home/pi/ecovacs-deebot.js/node_modules/mqtt/l ib/client.js:1162:12) at MqttClient._handlePacket (/home/pi/ecovacs-deebot.js/node_modules/mqtt/li b/client.js:351:12) at work (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lib/client.js:283:12) at Writable.writable._write (/home/pi/ecovacs-deebot.js/node_modules/mqtt/li b/client.js:294:5) at doWrite (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lib/_str eam_writable.js:428:64) at writeOrBuffer (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/li b/_stream_writable.js:417:5) at Writable.write (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/l ib/_stream_writable.js:334:11) at TLSSocket.ondata (_stream_readable.js:710:20)
@rebel1985, vielen Dank schon mal! Das hilft mir auf jeden Fall weiter :) Da sind ein paar sehr interessante Antworten vom Server dabei
Hallo ich bin es mal wieder... also ich habe mal alle Befehle durchgetestet playSound geht beim Ozmo 950
pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:4250) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '7c926cec-d4b6-4a33-8e8a-12a559ee4387', name: 'E0001279610058600233', class: 'yna5xi', resource: 'VvgJ', nick: 'DEEBOT950', company: 'eco-ng', bindTs: 1579361596281 } vacbot ready [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 [EcovacsMQTT] failure code: 500 ......
Habe auch mitbekommen, wenn man denn "nick" mit Leerzeichen hat, bekommt man ein null wert. Sprich mein Roboter hieß erst "Deebot Ozmo 950" -> wurde nicht erkannt, jetzt habe ich ihm Deebot950 genannt und der Name wird erkannt.
@gigasi, @rebel1985, @boriswerner
Wer möchte darf gerne noch mal mit den aktuellen Quellen testen
NODE_ENV=dev node app2.js
Da sind ein paar möglicherweise wichtige Änderungen dabei :) Vor allem bei dem Deebot Ozmo 900 bin ich recht zuversichtlich
Habe auch mitbekommen, wenn man denn "nick" mit Leerzeichen hat, bekommt man ein null wert. Sprich mein Roboter hieß erst "Deebot Ozmo 950" -> wurde nicht erkannt, jetzt habe ich ihm Deebot950 genannt und der Name wird erkannt.
Hallo @gigasi, betrifft das den ioBroker Adapter oder auch schon die Library?
Library selbst, in ioBroker kommt dann "no device 0"
Hm, ich bekomme mit der neuen Version nun einen Fehler schon bei der Anmeldung. Nach [EcoVacsAPI] calling main api user/getAuthCode with [...] [EcoVacsAPI] Calling https://eco-de-api.ecovacs.com/v1/private [...] [EcovacsAPI] got {"code":"0002","msg":"接口鉴权失败","time":1581107024497} [EcovacsAPI] Failure code 0002 [EcovacsAPI] Failure code 0002 calling __call_main_api('user/getAuthCode', {...}) Failure in connecting: Failure code 0002
Lt. Google heißt das soviel wie "Schnittstellenauthentifizierung fehlgeschlagen". Zugangsdaten hab ich doppelt überprüft... Ist das bei euch anderen auch so?
Library selbst, in ioBroker kommt dann "no device 0"
ok ... mein Ozmo 930 heißt 'Deebot Ozmo 930' und das funktioniert. Aber Ecovacs hat da wohl mehrere Varianten - meinen anderen Bot (Deebot Slim 2) kann ich schon in der App gar nicht mit Leerzeichen im Namen benennen ...
Hm, ich bekomme mit der neuen Version nun einen Fehler schon bei der Anmeldung. Nach [EcoVacsAPI] calling main api user/getAuthCode with [...] [EcoVacsAPI] Calling https://eco-de-api.ecovacs.com/v1/private [...] [EcovacsAPI] got {"code":"0002","msg":"接口鉴权失败","time":1581107024497} [EcovacsAPI] Failure code 0002 [EcovacsAPI] Failure code 0002 calling __call_main_api('user/getAuthCode', {...}) Failure in connecting: Failure code 0002
Lt. Google heißt das soviel wie "Schnittstellenauthentifizierung fehlgeschlagen". Zugangsdaten hab ich doppelt überprüft... Ist das bei euch anderen auch so?
Ja, das hatte ich hier schon mal geschrieben ...
einfach so lange erneut ausführen, bis es funktioniert. Dieser Fehler wird recht oft (gefühlt random) vom Ecovacs Server zurückgegeben.
In ioBroker sieht man das auch im Log - da steht dann 'reconnecting (1) ...'
Hatte ich sogar schonmal gelesen... ;-)
Der folgende Abschnitt wiederholt sich dann nach kurzer Zeit wieder:
[VacBot] action: GetCleanState
[VacBot] Sending command GetCleanState
[EcovacsMQTT] c: {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetCleanState","payload":"GetChargeState
[EcovacsMQTT] c: {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetChargeState","payload":"GetBatteryInfo
[EcovacsMQTT] c: {"auth":{"realm":"ecouser.net","resource":"REPLACED_RESOURCE","token":"REPLACED_TOKEN","userid":"REPLACED_USERID","with":"users"},"cmdName":"GetBatteryInfo","payload":"
Hatte ich sogar schonmal gelesen... ;-)
Der folgende Abschnitt wiederholt sich dann nach kurzer Zeit wieder: [VacBot] action: GetCleanState [VacBot] Sending command
GetCleanState
...
Es wäre gut, wenn du in der app2.js die folgende Zeile auskommentieren könntest
vacbot.run('Clean');
und während das dann läuft mal ein paar Funktionen aus der Mobile App heraus starten könntest. Meine Hoffnung ist, dass dann ein paar Ausgaben mit
[EcovacsMQTT] message:
kommen
Hm. habe ihn einen kleinen benutzerdefinierten Bereich reinigen lassen, dann die Aufgabe beendet und zurück zur Station geschickt.
Das ist das einzige, welches ich allerdings zeitlich leider nicht ganz zuordnen kann: [EcovacsMQTT] message: {"header":{"pri":1,"tzm":480,"ts":"1581109565560","ver":"0.0.1","fwVer":"1.7.6","hwVer":"0.1.1"},"body":{"data":{"mid":"1307200506","type":"ol","totalWidth":800,"totalHeight":800,"pixel":50,"totalCount":4,"index":0,"startX":0,"startY":0,"width":800,"height":800,"crc":-926711456,"value":"XQAABAAAxAkAAABv/f//o7f/Rz5IFXI5YVG4kijmo4YH+e7kHoLTL8U6PAFLsX7JiopNL6MN2X+m44wjEVPgWRjFdYrid/i2lH8MasDedElk4ulcU7IE2PdEDKtfDW1G6eXDdoi3llestk3haR1v7RO/YyPyJ2foBJzyQC/LFTl8r+JGOTcSOZ6hbDDRy6VCeB568DFppbyWEqPHwzAjC+RJDtvHYBOKAuSFq8U4ZFDGZXlVhMzvhPIQ+gCpfpvgH5K2LIkFvMsVzw0WuI1Kn53PyjrHxMx+RG2bH4ru3lIxPjhRmbHGC57ejp+re80o3TAxc8O/kwvehBkm+gANusuHkUaDTBIiM2aGhXwbIg6Omn7aJb3OEHGwdGW7BnMqhn1hAuTgFu/nFWxEk3U5MW1U+bKNLim/Yvo3QBa/VMXT75s3yHp9nkR/jbPB422CD2CRFRE6vbyF1dRtPZH6F+sM/s1h5CWQ8CZ9Ou5UtDB+YWk5XjMK0+KESySM+DxU8CiBTKBjF6tR1hAPwe36GVh91EOGar3SZgJhZvImF06+VjGtknGropuNqSaMmSdCzfNfFuDtw6aLJezNMsYNPx3jhKrNGysqR5EpHl6TkJMpPDZxD2vgMRZAu12IMjQaFXW7/nNZNlKiDnwn4qkrCR/b1W3H0VntPxCDosT2OeSVYgFpMxg+/xP5HjCuxDNOCMrCRbcNoeXNeBAmJE/Aj4cX16uV/gjaNmRkKEiGXDY6ZNvIlbNLbqvvs1XtZGrcUk/JZfkBItZFKt86QH77NDyQQkoZsnq05X10QV6ZpNBJTWotevZRQcdnCuD2cGX3aZ4vg1Hqz4A2aUXVOFThN8hKI2ZYIUQsL9muycWE+mlM/67Gpan6BLqOoBapOQP6V31tEDJd544MO9Irvacc2NhjWoEzurvu3xcXhCzBtAazfKsFKm1heE72ZLMDoEk9Dd+y56O6ukDoQJdLgyXRI9aCf+Jzg62Itd1muLCphr9SQ5EuVeSv6ggBUaRAYJDM"}}} [EcovacsMQTT] _ctl_to_dict_mqtt topic: undefined [EcovacsMQTT] _ctl_to_dict_mqtt xmlstring: undefined [EcovacsMQTT] Unknown response type for command undefined received: [object Object] [EcovacsMQTT] message: {"header":{"pri":1,"tzm":480,"ts":"1581109565563","ver":"0.0.1","fwVer":"1.7.6","hwVer":"0.1.1"},"body":{"data":{"mid":"1307200506","type":"ol","totalWidth":800,"totalHeight":800,"pixel":50,"totalCount":4,"index":1,"startX":0,"startY":0,"width":800,"height":800,"crc":-926711456,"value":"fGvnK9VhdCGQDwaMZlmyNGFcaO3WW8kzbLM6ehn1U8NXGn5BYzJApTY49rBGit95w86gv6p7jvUNziVadnYo0miApDpyNlj1seioZ3qoux53U0sVB3r/H8NJriW3f/eMFwdX5M5sv8IXrY8oy2pHv2LktRRYEfXVxQmWORmAd4H65LlzJAxCPu/2Fcv8tP1cKyoYCMoeQD0wnL+/cQPvuo9cEOxzOm3YwEDQEJLurvjahHHV8EdsA3L38LXn1nueFY91+qBM+sZqWqI0Sws0BauL+o0kmEjbT3zfGftp++gPEVDhH+bdihmdE/yyRvUZLCczuCr6ENpjkXtdG8oTLAT1b7xHhl61SQ5qP+IxnODYo6Q8QP836PADzRpDbR0lTQkd4Drb/VfnhiM30eGO054Vz2IAfuneNN2Cf16V/dnYTTn7xd+R3V5r2+8UbJA6ngT24JxcWdcFXzRERk6p1/HK2Mzh0ixN9aEOxwhKxrxwSNBYZGQf1mD5RH3449HFQlUWqv2gFQZa5zx2QTwxshtg5yYvPbkKs08VKqfe967gnXgQeg7uJd5CRNKp6Dcvg69zGLKLrqbDbCpTq0n78tnD1/02H8ct/ZzqiP7psbWHXXDZ9ztCMa1G+Fsu5MPSSy6YsShZCxsyytQAozhqoz7/HvW/t3j67XviYmu1276RiZuudvGJeyeJZ5UJyAWQAX/P+rZbhaj2eBMmiyru0IUU/SjIYnFJoazx4toiodtWFmsIFHs8+1c5xnMlavbRf4jIa01jY3SlZRByy2rsyNS3+iNF8IPI8mtiE2oBpAYfCqdpCiBRkQ4eN4QiaRDZpG5EQryMdK5txzdHajadqRWt99bVa8Bhe4hjuNOBoBk/UV32c6mgtiYzk7yj7NRE027k3Wt3D5pDIEJjpYfTjvti8LrE08noaltsc0TJbuSEjCijrqx5QqJYVYufQt/7CHnTyfGM4nRlIMtDBbl5VNfpjsffGAwyV4F02rNqNvJM4gTVzolPciTUnaW7jeRu"}}} [EcovacsMQTT] _ctl_to_dict_mqtt topic: undefined [EcovacsMQTT] _ctl_to_dict_mqtt xmlstring: undefined [EcovacsMQTT] Unknown response type for command undefined received: [object Object] [EcovacsMQTT] message: {"header":{"pri":1,"tzm":480,"ts":"1581109565564","ver":"0.0.1","fwVer":"1.7.6","hwVer":"0.1.1"},"body":{"data":{"mid":"1307200506","type":"ol","totalWidth":800,"totalHeight":800,"pixel":50,"totalCount":4,"index":2,"startX":0,"startY":0,"width":800,"height":800,"crc":-926711456,"value":"Bb+ItjhLWbp+305sh59GD9esRWibiy4KSse6Lf+QLxis/AweDAJNuCzTt92twk+XA7NHPgwA4D19vWhyOaqIScXqFiNZyg7WXbQwz1X5cEjvz8ZfNPsyYgDU2yO0Qu1JyqN1nzt0Cs9EP26qegMyV0RGZkzC+2eMa5YbAT8waR9GodFsrMgfG/SEyNVnyObJa5UDtn+QzZPH9MLS3ho6vz5sjYhoOc2FkXWOVhsyuz9PFEvNcsC0arwAzCEEPaPTA4N0tJ4LC+HUG/s9wUtMdnLZmTX+mlll5mLkoQJ03iKuGhOzDL5Z4wBePrYe1sBWgkopsUuE3JC51DS5yRMoDUmHSyQNKDLfTjQE/XJXnGFIF/cqkGnmdohBoLleq249zoiTob5u7WdhHq18OCzdqE6xxpVSC++mZp6vUO9ATR+sYt6AUaiMJBAsnC1qRZ9nfyjZCHUIXx/+v+7O8at1oeWP6Ln42eOwwqOrmiu8qmT15xRZcm7x7FgGHtgMqcBhGRJ5SF1KwklJFY4w32xSKMTAHNtHDfGKHhj+h2k1JzNmE05z89RgHpN57hRu6t8SeaNNSIKRBmJhxZwcPaB7pQUKBYC3iMl42BevjLpx/RFazbqmyHrp/JR37gBYOrt8s95A4AGtRKIu+VuR4jMTfmKxmXAps/36E5fdafD5gUbITUsMLGEq4cv0AJEnfXtZPbHnfT+sqWMa6U16CV9Jr/WPdAXo0U3gEnGDXMVDDUQyp15epMBXTbTCObbFmIVQx6/+Hf0eqcN/0akxReuujAAHqxlMDvi6RPaMu9NTOX9A/aHcqDj0vxXxn1e4pAJU/uCQ27rwGA1Lr3E62DILMOwZQMaxcCcX3Mhkas6vP1GDyL7YtRSGqWuiGF8fdV4HQozaKOKAAWTrn+Iy9aeEBM25xm3wI3cZsIT6Q4xHE6C/WqI7dBNhuXLnuIiNIAqicNuWhr99QnscWIqLOv5hZFgzYIbEpK4WjNnRKVq3APwlo3avFO+dglBT1mIBZeUt"}}} [EcovacsMQTT] _ctl_to_dict_mqtt topic: undefined [EcovacsMQTT] _ctl_to_dict_mqtt xmlstring: undefined [EcovacsMQTT] Unknown response type for command undefined received: [object Object] [EcovacsMQTT] message: {"header":{"pri":1,"tzm":480,"ts":"1581109565566","ver":"0.0.1","fwVer":"1.7.6","hwVer":"0.1.1"},"body":{"data":{"mid":"1307200506","type":"ol","totalWidth":800,"totalHeight":800,"pixel":50,"totalCount":4,"index":3,"startX":0,"startY":0,"width":800,"height":800,"crc":-926711456,"value":"zhQqVQs2m+WZy12PNM0hZQ3r+KUN8kWoRL02oDp40zncNZmLa0Qv1qldzNVhhA+dNco4yfkyyAbAiVAujHJ9eekmWaD+BlKgDkr9NxaCEtl5S5NdICdF6vTcEuffCPA6eOQNBXvtvljzdAs1+VnK4EwuRCQjXv+/FMlf+I3Snpt6p0vq7Y5H61XVEb/9+/jEk4Rvy+BrEF1LC2iZqKRsX9ENh4eM33CP8f1R/hnwcETObeui8wcNw1QqHY5qBgHgWTKXV9o4SFVWBc5M2WM2NwcZ8c6yDPXTt1drg5qqgFpkldk34nh6qPkFLVZ8IABhqAQmyFwfhJXScUnGUDZ1ezGjy2My7z+8gDaBBft+3Njx6bWyXHhyXazhaRMbePT36oZWNr5TVk5g9ICwn5Hh0vqXyVkAfzGnFiVa933/Y2dTh/zWvTNqM1bvSBRWwI+F84OBwGXEJVKgrczgAA=="}}} [EcovacsMQTT] _ctl_to_dict_mqtt topic: undefined [EcovacsMQTT] _ctl_to_dict_mqtt xmlstring: undefined [EcovacsMQTT] Unknown response type for command undefined received: [object Object]
Ansonsten nur weiterhin die typischen 3 Gets und die dazugehörigen [EcovacsMQTT] failure code: 500 [EcovacsMQTT] send_command: failure code: 500 [EcovacsMQTT] call failed with {"ret":"fail","errno":500,"debug":"wait for response timed out"}
@gigasi, @boriswerner
Ich befürchte, dass sich der Deebot Ozmo 950 noch mal anders verhält, als z.B. der Ozmo 900 und andere MQTT Devices ... Die liefern nämlich XML an der Stelle wo der Ozmo 950 JSON liefert.
Ist alles lösbar, aber ich muss es halt einbauen und dann schauen wie das aufgebaut ist.
Je mehr Ausgaben ich von
[EcovacsMQTT] message: ...
der verschiedenen Funktionen bekomme (ausgeführt in der Mobile App) desto besser ;)
Alles andere als diese Zeilen ([EcovacsMQTT] message: ...
) benötige ich jetzt erst mal nicht mehr.
@rebel1985 Wir sollten hier die Sache für den Ozmo 900 fortführen.
@mrbungle64 hast gelesen? playSound funktioniert beim Ozmo 950
Schon dieses Script gesehen? Vl könntest ja das benutzen oder in dein Modul integrieren https://github.com/And3rsL/Deebotozmo
@mrbungle64 hast gelesen? playSound funktioniert beim Ozmo 950
@gigasi, ja hatte ich gelesen und auch einen "thumbs up" emoji hinterlassen :)
PlaySound ist ein Sonderfall, da dieser keine Rückantwort mehr erwartet. Ist aber auf jeden Fall erfreulich - danke für den Hinweis :)
Schon dieses Script gesehen? Vl könntest ja das benutzen oder in dein Modul integrieren https://github.com/And3rsL/Deebotozmo
Hallo @krobipd, ja hatte ich gestern spät Abends auch entdeckt - schaue ich mir heute mal an. Danke für den Hinweis :)
@gigasi, @boriswerner, @krobipd
Ich habe jetzt auf Basis von diesem Python Modul (danke an @krobipd) angefangen die Ozmo 950 spezifischen Sachen zu implementieren.
Ihr könnt gerne schon mal mit den aktuellen Quellen der Library testen wenn Ihr möchtet :)
Aber natürlich keine Garantie - ich kann es bei mir ja nur sehr eingeschränkt testen ...
Super, vielen Dank schonmal für die Mühe des "blinden" Programmierens ;-) Heute werde ich wohl leider nicht dazu kommen, aber ich versuche morgen mal so viel wie möglich zu testen (und mich auch mal etwas mehr in die Library einzuarbeiten als nur die example-App zu starten um gezielter zu testen)
Cool 👍 ich kann es heute Abend versuchen 😊
in ioBroker
host.raspberrypi | 2020-02-08 18:32:27.961 | info | Restart adapter system.adapter.ecovacs-deebot.0 because enabled
host.raspberrypi | 2020-02-08 18:32:27.959 | info | instance system.adapter.ecovacs-deebot.0 terminated with code 0 (NO_ERROR)
host.raspberrypi | 2020-02-08 18:32:27.959 | error | Caught by controller[2]: at Writable.write (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:334:11)
host.raspberrypi | 2020-02-08 18:32:27.958 | error | Caught by controller[2]: at writeOrBuffer (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:417:5)
host.raspberrypi | 2020-02-08 18:32:27.958 | error | Caught by controller[2]: at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
host.raspberrypi | 2020-02-08 18:32:27.958 | error | Caught by controller[2]: at Writable.writable._write (/opt/iobroker/node_modules/mqtt/lib/client.js:294:5)
host.raspberrypi | 2020-02-08 18:32:27.957 | error | Caught by controller[2]: at work (/opt/iobroker/node_modules/mqtt/lib/client.js:283:12)
host.raspberrypi | 2020-02-08 18:32:27.957 | error | Caught by controller[2]: at MqttClient._handlePacket (/opt/iobroker/node_modules/mqtt/lib/client.js:351:12)
host.raspberrypi | 2020-02-08 18:32:27.957 | error | Caught by controller[2]: at MqttClient._handlePublish (/opt/iobroker/node_modules/mqtt/lib/client.js:1162:12)
host.raspberrypi | 2020-02-08 18:32:27.956 | error | Caught by controller[2]: at MqttClient.emit (events.js:198:13)
host.raspberrypi | 2020-02-08 18:32:27.956 | error | Caught by controller[2]: at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:82:18)
host.raspberrypi | 2020-02-08 18:32:27.956 | error | Caught by controller[2]: at EcovacsMQTT._handle_ctl_mqtt (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:259:34)
host.raspberrypi | 2020-02-08 18:32:27.956 | error | Caught by controller[2]: TypeError: Cannot read property 'key' of undefined
host.raspberrypi | 2020-02-08 18:32:27.955 | error | Caught by controller[1]: @#[line:0,col:undefined]
host.raspberrypi | 2020-02-08 18:32:27.955 | error | Caught by controller[1]: [xmldom error] invalid doc source
host.raspberrypi | 2020-02-08 18:32:27.953 | error | Caught by controller[0]: [EcovacsAPI] Failure code 0002
ecovacs-deebot.0 | 2020-02-08 18:32:27.420 | info | (21945) Terminated (NO_ERROR): Without reason
ecovacs-deebot.0 | 2020-02-08 18:32:27.417 | info | (21945) terminating
ecovacs-deebot.0 | 2020-02-08 18:32:27.394 | info | (21945) cleaned everything up...
ecovacs-deebot.0 | 2020-02-08 18:32:27.390 | error | (21945) TypeError: Cannot read property 'key' of undefined at EcovacsMQTT._handle_ctl_mqtt (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:259:34) at MqttClient.EcovacsMQTT.c
ecovacs-deebot.0 | 2020-02-08 18:32:27.388 | error | (21945) uncaught exception: Cannot read property 'key' of undefined
ecovacs-deebot.0 | 2020-02-08 18:32:26.983 | info | (21945) DEEBOT950 successfully connected
ecovacs-deebot.0 | 2020-02-08 18:32:25.092 | info | (21945) Successfully connected to Ecovacs server
ecovacs-deebot.0 | 2020-02-08 18:32:23.301 | info | (21945) reconnecting (1) ...
ecovacs-deebot.0 | 2020-02-08 18:32:17.551 | info | (21945) starting. Version 0.3.4 in /opt/iobroker/node_modules/iobroker.ecovacs-deebot, node: v10.19.0
in ioBroker
Der ioBroker Adapter benutzt (auch wenn über github installiert) noch die 2 Tage alte Version 0.1.7 der Library von npm. Ich werde das morgen oder so dann mal auf eine aktuelle Version aktualisieren. Aber trotzdem danke :)
pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js eu ... [VacBot] Sending command
GetBatteryInfo
/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:126 payloadRequest['header']['ts'] = datetime.datetime.now().timestamp();
Ich behebe den Fehler gleich - das war noch Copy'n'Paste aus dem Python Code. Hatte ich vergessen anzupassen ;)
pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js eu ... [VacBot] Sending command
GetBatteryInfo
/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:126 payloadRequest['header']['ts'] = datetime.datetime.now().timestamp();Ich behebe den Fehler gleich - das war noch Copy'n'Paste aus dem Python Code. Hatte ich vergessen anzupassen ;)
@gigasi, Fehler ist behoben :)
@mrbungle64 ich teste moment
Hallo, wird es irgendwann auch mal ein Support für Deebot Ozmo 950 geben?