mrbungle64 / ioBroker.ecovacs-deebot

Control your Ecovacs Deebot and yeedi vacuum cleaner with ioBroker
MIT License
65 stars 11 forks source link

Erfahrung 0.3.6 und dem Deebot 710 (Absturz des Adapters) #9

Closed capitaenz closed 4 years ago

capitaenz commented 4 years ago

Hallo zusammen,

die Basics konnte ich ja jetzt mit dem Adapter in der Version 0.3.4 nutzen. Jetzt mit der Version 0.3.6 kann ich zwar wieder eine Reinigung starten, aber der Adapter stürzt ab: `

host.tinkerboard 2020-02-15 15:50:19.049 info Restart adapter system.adapter.ecovacs-deebot.0 because enabled
host.tinkerboard 2020-02-15 15:50:19.049 info instance system.adapter.ecovacs-deebot.0 terminated with code 0 (NO_ERROR)
host.tinkerboard 2020-02-15 15:50:19.049 error Caught by controller[2]: at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
host.tinkerboard 2020-02-15 15:50:19.049 error Caught by controller[2]: at Writable.writable._write (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:294:5)
host.tinkerboard 2020-02-15 15:50:19.049 error Caught by controller[2]: at work (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:283:12)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient._handlePacket (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:351:12)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient._handlePublish (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:1162:12)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient.emit (events.js:198:13)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:81:18)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at EcovacsMQTT._handle_message (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:358:22)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at EcovacsMQTT._handle_command (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:454:26)
host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at VacBot._handle_clean_report (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/index.js:562:29)
host.tinkerboard 2020-02-15 15:50:19.047 error Caught by controller[2]: TypeError: Cannot read property 'type' of undefined
host.tinkerboard 2020-02-15 15:50:19.047 error Caught by controller[1]: [VacBot] couldn't parse charge status
host.tinkerboard 2020-02-15 15:50:19.047 error Caught by controller[0]: [VacBot] couldn't parse charge status
ecovacs-deebot.0 2020-02-15 15:50:18.523 info (17289) Terminated (NO_ERROR): Without reason
ecovacs-deebot.0 2020-02-15 15:50:18.520 info (17289) terminating
ecovacs-deebot.0 2020-02-15 15:50:18.472 info (17289) cleaned everything up...
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at Writable.writable._write (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:294:5)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at work (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:283:12)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient._handlePacket (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:351:12)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient._handlePublish (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:1162:12)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient.emit (events.js:198:13)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:81:18)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at EcovacsMQTT._handle_message (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:358:22)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at EcovacsMQTT._handle_command (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:454:26)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error at VacBot._handle_clean_report (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/index.js:562:29)
ecovacs-deebot.0 2020-02-15 15:50:18.469 error (17289) TypeError: Cannot read property 'type' of undefined
ecovacs-deebot.0 2020-02-15 15:50:18.468 error (17289) uncaught exception: Cannot read property 'type' of undefined
ecovacs-deebot.0 2020-02-15 15:50:18.087 info (17289) run: clean

`

Allerdings ist es mit dem Absturz nicht wie in der pre 0.3.4 und der Roboter bleibt online und kann per App vom Handy weiterhin gesteuert werden.

VG Leif

mrbungle64 commented 4 years ago

Hallo zusammen,

die Basics konnte ich ja jetzt mit dem Adapter in der Version 0.3.4 nutzen. Jetzt mit der Version 0.3.6 kann ich zwar wieder eine Reinigung starten, aber der Adapter stürzt ab: `

host.tinkerboard 2020-02-15 15:50:19.049 info Restart adapter system.adapter.ecovacs-deebot.0 because enabled host.tinkerboard 2020-02-15 15:50:19.049 info instance system.adapter.ecovacs-deebot.0 terminated with code 0 (NO_ERROR) host.tinkerboard 2020-02-15 15:50:19.049 error Caught by controller[2]: at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64) host.tinkerboard 2020-02-15 15:50:19.049 error Caught by controller[2]: at Writable.writable._write (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:294:5) host.tinkerboard 2020-02-15 15:50:19.049 error Caught by controller[2]: at work (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:283:12) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient._handlePacket (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:351:12) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient._handlePublish (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:1162:12) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient.emit (events.js:198:13) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:81:18) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at EcovacsMQTT._handle_message (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:358:22) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at EcovacsMQTT._handle_command (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:454:26) host.tinkerboard 2020-02-15 15:50:19.048 error Caught by controller[2]: at VacBot._handle_clean_report (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/index.js:562:29) host.tinkerboard 2020-02-15 15:50:19.047 error Caught by controller[2]: TypeError: Cannot read property 'type' of undefined host.tinkerboard 2020-02-15 15:50:19.047 error Caught by controller[1]: [VacBot] couldn't parse charge status host.tinkerboard 2020-02-15 15:50:19.047 error Caught by controller[0]: [VacBot] couldn't parse charge status ecovacs-deebot.0 2020-02-15 15:50:18.523 info (17289) Terminated (NO_ERROR): Without reason ecovacs-deebot.0 2020-02-15 15:50:18.520 info (17289) terminating ecovacs-deebot.0 2020-02-15 15:50:18.472 info (17289) cleaned everything up... ecovacs-deebot.0 2020-02-15 15:50:18.469 error at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at Writable.writable._write (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:294:5) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at work (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:283:12) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient._handlePacket (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:351:12) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient._handlePublish (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:1162:12) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient.emit (events.js:198:13) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:81:18) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at EcovacsMQTT._handle_message (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:358:22) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at EcovacsMQTT._handle_command (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:454:26) ecovacs-deebot.0 2020-02-15 15:50:18.469 error at VacBot._handle_clean_report (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/index.js:562:29) ecovacs-deebot.0 2020-02-15 15:50:18.469 error (17289) TypeError: Cannot read property 'type' of undefined ecovacs-deebot.0 2020-02-15 15:50:18.468 error (17289) uncaught exception: Cannot read property 'type' of undefined ecovacs-deebot.0 2020-02-15 15:50:18.087 info (17289) run: clean `
Allerdings ist es mit dem Absturz nicht wie in der pre 0.3.4 und der Roboter bleibt online und kann per App vom Handy weiterhin gesteuert werden.

VG Leif

@capitaenz Danke für die Rückmeldung. Ich veröffentliche in ein paar Minuten eine neue Version - da sollte der Bug behoben sein :)

mrbungle64 commented 4 years ago

@capitaenz

Version 0.3.7 kann nun über Github installiert werden.

Ich hoffe, dass der Adapter nun nicht mehr abstürzt und optimalerweise sollte der cleanstatus nun korrekt angezeigt werden.

capitaenz commented 4 years ago

@mrbungle64 So, neue Version ist installiert, aber der Fehler besteht weiterhin :-(

Sorry, aber irgendwie bekomme ich den Log hier nicht sauber rein kopiert...

mrbungle64 commented 4 years ago

@capitaenz

Das ist ein neuer Fehler - der Fehler von eben scheint behoben zu sein ... Ich schaue es mir gleich an :)

mrbungle64 commented 4 years ago

@capitaenz

Genau genommen, waren es mehrere (Folge-)Fehler ... Einen hatte ich behoben - den zweiten habe ich nun auch gefunden und hoffentlich behoben. Aber ich benötige dafür nun noch ein bisschen Zeit.

Ich melde mich, wenn es eine neue Version gibt :)

capitaenz commented 4 years ago

@mrbungle64 Auch weiterhin mit der 0.3.8 ein Absturz. Reinigung startet und dann keine Bedienung mehr über den ioBroker möglich, bis dieser neu gestartet hat:

ecovacs-deebot.0 2020-02-16 14:43:29.517 info (11648) Unhandled chargestatus: null
ecovacs-deebot.0 2020-02-16 14:43:29.268 info (11648) DEEBOT_710 successfully connected
ecovacs-deebot.0 2020-02-16 14:43:27.947 info (11648) Successfully connected to Ecovacs server
ecovacs-deebot.0 2020-02-16 14:43:26.318 info (11648) reconnecting (7) ...
ecovacs-deebot.0 2020-02-16 14:43:20.928 info (11648) reconnecting (6) ...
ecovacs-deebot.0 2020-02-16 14:43:15.538 info (11648) reconnecting (5) ...
ecovacs-deebot.0 2020-02-16 14:43:10.427 info (11648) reconnecting (4) ...
ecovacs-deebot.0 2020-02-16 14:43:05.245 info (11648) reconnecting (3) ...
ecovacs-deebot.0 2020-02-16 14:43:00.099 info (11648) reconnecting (2) ...
ecovacs-deebot.0 2020-02-16 14:42:54.975 info (11648) reconnecting (1) ...
ecovacs-deebot.0 2020-02-16 14:42:49.445 info (11648) starting. Version 0.3.8 in /opt/iobroker/node_modules/iobroker.ecovacs-deebot, node: v10.19.0
host.tinkerboard 2020-02-16 14:42:47.773 info instance system.adapter.ecovacs-deebot.0 started with pid 11648
host.tinkerboard 2020-02-16 14:42:17.759 info Restart adapter system.adapter.ecovacs-deebot.0 because enabled
host.tinkerboard 2020-02-16 14:42:17.759 info instance system.adapter.ecovacs-deebot.0 terminated with code 0 (NO_ERROR)
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[1]: [EcovacsAPI] Failure code 0002
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[0]: at processImmediate (timers.js:658:5)
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[0]: at tryOnImmediate (timers.js:676:5)
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[0]: at runCallback (timers.js:705:18)
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[0]: at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4852:34)
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[0]: at EcovacsDeebot.emit (events.js:198:13)
host.tinkerboard 2020-02-16 14:42:17.758 error Caught by controller[0]: at EcovacsDeebot.onStateChange (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:147:33)
host.tinkerboard 2020-02-16 14:42:17.757 error Caught by controller[0]: TypeError: Cannot read property 'run' of null
ecovacs-deebot.0 2020-02-16 14:42:17.225 info (10915) Terminated (NO_ERROR): Without reason
ecovacs-deebot.0 2020-02-16 14:42:17.224 info (10915) terminating
ecovacs-deebot.0 2020-02-16 14:42:17.206 info (10915) cleaned everything up...
ecovacs-deebot.0 2020-02-16 14:42:17.205 error at processImmediate (timers.js:658:5)
ecovacs-deebot.0 2020-02-16 14:42:17.205 error at tryOnImmediate (timers.js:676:5)
ecovacs-deebot.0 2020-02-16 14:42:17.205 error at runCallback (timers.js:705:18)
ecovacs-deebot.0 2020-02-16 14:42:17.205 error at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4852:34)
ecovacs-deebot.0 2020-02-16 14:42:17.205 error at EcovacsDeebot.emit (events.js:198:13)
ecovacs-deebot.0 2020-02-16 14:42:17.205 error at EcovacsDeebot.onStateChange (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:147:33)
ecovacs-deebot.0 2020-02-16 14:42:17.205 error (10915) TypeError: Cannot read property 'run' of null
ecovacs-deebot.0 2020-02-16 14:42:17.204 error (10915) uncaught exception: Cannot read property 'run' of null
ecovacs-deebot.0 2020-02-16 14:42:17.196 info (10915) run: clean
ecovacs-deebot.0 2020-02-16 14:42:16.789 info (10915) starting. Version 0.3.8 in /opt/iobroker/node_modules/iobroker.ecovacs-deebot, node: v10.19.0
host.tinkerboard 2020-02-16 14:42:15.238 info instance system.adapter.ecovacs-deebot.0 started with pid 10915
host.tinkerboard 2020-02-16 14:42:12.599 info instance system.adapter.luftdaten.0 terminated with code 0 (NO_ERROR)
luftdaten.0 2020-02-16 14:42:12.087 info (10725) Terminated (NO_ERROR): Without reason
luftdaten.0 2020-02-16 14:42:01.964 info (10725) starting. Version 0.0.9 in /opt/iobroker/node_modules/iobroker.luftdaten, node: v10.19.0
host.tinkerboard 2020-02-16 14:42:00.022 info instance system.adapter.luftdaten.0 started with pid 10725
host.tinkerboard 2020-02-16 14:41:45.220 info Restart adapter system.adapter.ecovacs-deebot.0 because enabled
host.tinkerboard 2020-02-16 14:41:45.220 info instance system.adapter.ecovacs-deebot.0 terminated with code 0 (NO_ERROR)
host.tinkerboard 2020-02-16 14:41:45.220 error Caught by controller[5]: at writeOrBuffer (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:417:5)
host.tinkerboard 2020-02-16 14:41:45.220 error Caught by controller[5]: at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
host.tinkerboard 2020-02-16 14:41:45.220 error Caught by controller[5]: at Writable.writable._write (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:294:5)
host.tinkerboard 2020-02-16 14:41:45.220 error Caught by controller[5]: at work (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:283:12)
host.tinkerboard 2020-02-16 14:41:45.220 error Caught by controller[5]: at MqttClient._handlePacket (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:351:12)
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[5]: at MqttClient._handlePublish (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:1162:12)
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[5]: at MqttClient.emit (events.js:198:13)
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[5]: at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:81:18)
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[5]: at EcovacsMQTT._handle_message (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:348:28)
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[5]: at EcovacsMQTT._message_to_dict (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:432:40)
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[5]: TypeError: Cannot read property 'attributes' of null
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[4]: [VacBot] couldn't parse charge status
host.tinkerboard 2020-02-16 14:41:45.219 error Caught by controller[3]: [VacBot] couldn't parse charge status
host.tinkerboard 2020-02-16 14:41:45.218 error Caught by controller[2]: [EcovacsAPI] Failure code 0002
host.tinkerboard 2020-02-16 14:41:45.218 error Caught by controller[1]: [EcovacsAPI] Failure code 0002
ecovacs-deebot.0 2020-02-16 14:41:44.693 info (9552) Terminated (NO_ERROR): Without reason
ecovacs-deebot.0 2020-02-16 14:41:44.692 info (9552) terminating
ecovacs-deebot.0 2020-02-16 14:41:44.665 info (9552) cleaned everything up...
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at writeOrBuffer (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:417:5)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at Writable.writable._write (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:294:5)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at work (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:283:12)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at MqttClient._handlePacket (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:351:12)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at MqttClient._handlePublish (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/mqtt/lib/client.js:1162:12)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at MqttClient.emit (events.js:198:13)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at MqttClient.EcovacsMQTT.client.on (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:81:18)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at EcovacsMQTT._handle_message (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:348:28)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error at EcovacsMQTT._message_to_dict (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:432:40)
ecovacs-deebot.0 2020-02-16 14:41:44.664 error (9552) TypeError: Cannot read property 'attributes' of null
ecovacs-deebot.0 2020-02-16 14:41:44.663 error (9552) uncaught exception: Cannot read property 'attributes' of null
ecovacs-deebot.0 2020-02-16 14:41:44.651 info (9552) Unhandled cleanstatus: unknown
ecovacs-deebot.0 2020-02-16 14:41:44.272 info (9552) run: clean
mrbungle64 commented 4 years ago

@capitaenz

Das ist wieder ein neuer Fehler. Ich hatte diesen Teil komplett umgeschrieben - kann das aber selber nicht testen mit meinen Geräten.

Hast Du die Möglicheit die zugrundeliegende Library mal über npm oder Github zu installieren und diese mal über die Konsole zu starten? Da bekomme ich wesentlich mehr Information als über das Log vom ioBroker Adapter.

capitaenz commented 4 years ago

@mrbungle64 Also grundsätzlich kann ich dies machen, kenne aber unter Linux nur die Basics und muss mich da einarbeiten. Dazu kommt, dass ich momentan nur einen ioBroker habe und zwar mein/unser Produktivsystem. Könnte ich damit meine ioBroker Installation beschädigen? Die 0.3.4 Version hatte den Fehler noch nicht.

VG Leif

mrbungle64 commented 4 years ago

Hallo @capitaenz

@mrbungle64 Also grundsätzlich kann ich dies machen, kenne aber unter Linux nur die Basics und muss mich da einarbeiten. Dazu kommt, dass ich momentan nur einen ioBroker habe und zwar mein/unser Produktivsystem. Könnte ich damit meine ioBroker Installation beschädigen?

Eigentlich nicht, denn die Library würdest du unabhängig bzw. außerhalb vom ioBroker installieren und ausführen. Ich kann Dir gerne eine kurze Anleitung schreiben (war auch schon mal hier beschrieben).

Man muss natürlich grundsätzlich immer selbst entscheiden, ob man auf einem Produktivsystem Software einsetzten bzw. installieren möchte, die noch nicht als stabil betrachtet wird.

Wenn Du Dir unsicher bist würde ich Dir eher davon abraten (auch wenn meiner Einschätzung nach hier eigentlich nichts passieren sollte).

Die 0.3.4 Version hatte den Fehler noch nicht.

VG Leif

mrbungle64 commented 4 years ago

@capitaenz

Alternativ steht die Version 0.3.9 über Github bereit. Ich habe versucht den Fehler zu beheben - die Chancen stehen auch ganz gut. Ich kann es aber leider selbst nicht testen ...

capitaenz commented 4 years ago

@mrbungle64 ich werde morgen testen und mir mal ansehen wie ich weiterhelfen kann. Danke erstmal!

capitaenz commented 4 years ago

@mrbungle64 Ich hätte da mal eine Verständnisfrage. Da du sagst die Library wird unabhängig vom ioBroker installiert: git clone https://github.com/mrbungle64/ecovacs-deebot.js.git cd ecovacs-deebot.js npm install cd example Kann ich dies nicht auf jedem Linux-System installieren und ausführen, damit ich meinen ioBroker nicht in Gefahr bringe, oder verstehe ich da jetzt etwas falsch?

mrbungle64 commented 4 years ago

Kann ich dies nicht auf jedem Linux-System installieren und ausführen, damit ich meinen ioBroker nicht in Gefahr bringe, oder verstehe ich da jetzt etwas falsch?

Hallo @capitaenz Ja genau, das kannst Du unabhängig vom ioBroker installieren.

capitaenz commented 4 years ago

@mrbungle64 Hallo Sascha, habe jetzt einen Pi Zero W mit Raspbian-buster aufgesetzt:

Mehr kommt nicht!? Die 0.3.9 habe ich jetzt auch installiert und diese stürzt nicht ab!

Der Akkustand wird mit 100% angezeigt (funktionierte mit der 0.3.4 noch nicht) Leider wird der Stand vom Verbrauchsmerial nicht angezeigt

mrbungle64 commented 4 years ago

@mrbungle64 Hallo Sascha, habe jetzt einen Pi Zero W mit Raspbian-buster aufgesetzt:

  • pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js ... Mehr kommt nicht!? Die 0.3.9 habe ich jetzt auch installiert und diese stürzt nicht ab!

Hallo @capitaenz,

führe das mal bitte folgendermaßen aus

NODE_ENV=dev node app2.js

und schicke mir bitte mal die Zeilen die mit

[EcovacsMQTT] _message_to_dict() xmlString:

beginnnen. Bitte auch mal über die Mobile App starten und den entsprechenden Auszug aus dem Log posten.

Der Akkustand wird mit 100% angezeigt (funktionierte mit der 0.3.4 noch nicht) Leider wird der Stand vom Verbrauchsmerial nicht angezeigt

Das ist doch schon mal was, wenn der Akkustand angezeigt wird :) Beim Verbrauchsmaterialdauert es machmal einen gewisse Zeit bis der Server das liefert. Evtl. erst wenn sich der Wert geändert hat... Aber kann natürlich auch einfach sein, dass es noch nicht funktioniert.

capitaenz commented 4 years ago

@mrbungle64 Hier der Auszug ohne Reinigung (hoffe dort sind jetzt keine Passwörter oder co. drin) :

capitaenz commented 4 years ago

Eine Reinigung habe ich auch gestartet (anschließend sofort zurück zur Ladestation gedrückt und laden lassen):

[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994612' td='CleanReport'><clean type='auto' speed='standard' mid='' p='' st='s' rsn='a' a='' l='' sts=''/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994612' td='errors' new='' old=''/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937013639' td='CleanReportServer' act='s' type='auto' cs='1581965812' area='000' last='000' mapCount='000' sts='1581965812'/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937014537' td='CleanSt' a='0000' s='0000' l='0000' t=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='200,200' a=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937019816' td='ChargeState'><charge type='Idle' h='0' r='b' s='1'/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994618' td='CleanReport'><clean type='auto' speed='standard' mid='' p='' st='s' rsn='a' a='' l='' sts=''/></ctl>  
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='203,200' a=''/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='200,200' a=''/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994630' td='ChargeState'><charge type='Going' h='0' r='a' s='0'/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994630' td='errors' new='' old=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937031638' td='MapS' i='' p='' f='' o='' cs=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937031736' td='CleanReportServer' act='h' type='auto' cs='1581965812' area='000' last='0017' mapCount='04' sts='1581965812'/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='13' p='0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='14' p='0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='17' p='0000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='18' p='4000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994633' td='errors' new='' old=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='197,200' a=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937045690' td='ChargeState'><charge type='SlotCharging' h='0' r='b' s='1'/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994646' td='CleanReport'><clean type='auto' speed='standard' mid='' p='' st='h' rsn='a' a='' l='' sts=''/></ctl>
mrbungle64 commented 4 years ago

Eine Reinigung habe ich auch gestartet (anschließend sofort zurück zur Ladestation gedrückt und laden lassen):

[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994612' td='CleanReport'><clean type='auto' speed='standard' mid='' p='' st='s' rsn='a' a='' l='' sts=''/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994612' td='errors' new='' old=''/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937013639' td='CleanReportServer' act='s' type='auto' cs='1581965812' area='000' last='000' mapCount='000' sts='1581965812'/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937014537' td='CleanSt' a='0000' s='0000' l='0000' t=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='200,200' a=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937019816' td='ChargeState'><charge type='Idle' h='0' r='b' s='1'/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994618' td='CleanReport'><clean type='auto' speed='standard' mid='' p='' st='s' rsn='a' a='' l='' sts=''/></ctl>  
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='203,200' a=''/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='200,200' a=''/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994630' td='ChargeState'><charge type='Going' h='0' r='a' s='0'/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994630' td='errors' new='' old=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937031638' td='MapS' i='' p='' f='' o='' cs=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937031736' td='CleanReportServer' act='h' type='auto' cs='1581965812' area='000' last='0017' mapCount='04' sts='1581965812'/> 
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='13' p='0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='14' p='0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='17' p='0000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581965812' td='CleanedMap' sts='1581965812' pid='18' p='4000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' csid='1581965812' mapid='' total=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994633' td='errors' new='' old=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl td='Pos' t='p' p='197,200' a=''/>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581937045690' td='ChargeState'><charge type='SlotCharging' h='0' r='b' s='1'/></ctl>
[EcovacsMQTT] _message_to_dict() xmlString: <ctl ts='1581994646' td='CleanReport'><clean type='auto' speed='standard' mid='' p='' st='h' rsn='a' a='' l='' sts=''/></ctl>

@capitaenz

Vielen Dank! Das ist genau das was ich benötige um an dieser Stelle voran zu kommen :+1:

mrbungle64 commented 4 years ago

@capitaenz

Ich habe ein paar Änderungen an der Library vorgenommen. Es wäre toll, wenn Du das noch mal kurz testen könntest.

(Verzeichnis löschen, wieder git clone ausführen und Email u. Passwort in der app2.js anpassen)

Für den Anfang würde es mich interessieren, was in der Konsole zu sehen ist, wenn Du es "normal" (node app2.js, ohne NODE_ENV=dev) ausführst und dabei wieder eine Reinigung per App startest.

Wenn es gut aussieht könnte ich das Update bald auch in den ioBroker Adapter einbinden.

capitaenz commented 4 years ago

@mrbungle64 Der erste Abschnitt, damit du nachvollziehen kannst was ich gemacht habe:

pi@raspberrypi:/ $ cd /home pi@raspberrypi:/home $ ls pi pi@raspberrypi:/home $ cd pi pi@raspberrypi:~ $ ls ecovacs-deebot.js pi@raspberrypi:~ $ sudo rm -r ecovacs-deebot.js pi@raspberrypi:~ $ ls pi@raspberrypi:~ $ git clone https://github.com/mrbungle64/ecovacs-deebot.js.git Cloning into 'ecovacs-deebot.js'... remote: Enumerating objects: 41, done. remote: Counting objects: 100% (41/41), done. remote: Compressing objects: 100% (27/27), done. remote: Total 652 (delta 21), reused 31 (delta 14), pack-reused 611 Receiving objects: 100% (652/652), 263.15 KiB | 585.00 KiB/s, done. Resolving deltas: 100% (434/434), done. pi@raspberrypi:~ $ cd ecovacs-deebot.js pi@raspberrypi:~/ecovacs-deebot.js $ npm install added 289 packages from 626 contributors in 122.872s

6 packages are looking for funding run npm fund for details

pi@raspberrypi:~/ecovacs-deebot.js $ cd example pi@raspberrypi:~/ecovacs-deebot.js/example $

Dann weiter:

pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:2502) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '73405b80-1bb8-4795-8fef-56474167db2d', name: 'E0001209318604870530', class: 'uv242z', resource: 'uYyu', nick: 'DEEBOT_710', company: 'eco-ng', bindTs: 1568983549228 } [app2.js] isKnownDevice: true [app2.js] isSupportedDevice: false [app2.js] name: DEEBOT 710 [app2.js] hasMainBrush: true [app2.js] hasSpotAreas: false [app2.js] hasCustomAreas: false [app2.js] hasMoppingSystem: false [app2.js] hasVoiceReports: true vacbot ready [VacBot] couldn't parse charge status [app2.js] ChargeState: null /home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:429 'event': getEventNameForCommandString(name), ^

ReferenceError: getEventNameForCommandString is not defined at EcovacsMQTT._message_to_dict (/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:429:30) at EcovacsMQTT._handle_message (/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:348:28) at MqttClient.EcovacsMQTT.client.on (/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:81:18) at MqttClient.emit (events.js:198:13) at MqttClient._handlePublish (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lib/client.js:1162:12) at MqttClient._handlePacket (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lib/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/lib/client.js:294:5) at doWrite (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lib/_stream_writable.js:428:64) at writeOrBuffer (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lib/_stream_writable.js:417:5) pi@raspberrypi:~/ecovacs-deebot.js/example $

Nachdem ich die Reinigung gestartet habe, hat er die Ausführung auf dem Pi beendet... Anschließend:

pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:2583) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [EcovacsAPI] Failure code 0002 Failure in connecting: Failure code 0002 pi@raspberrypi:~/ecovacs-deebot.js/example $

Noch ein Versuch, anschließend wieder mit dem Abbruch auf dem Pi, nachdem die Reinigung per App auf dem Handy gestartet wurde:

pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:2616) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '73405b80-1bb8-4795-8fef-56474167db2d', name: 'E0001209318604870530', class: 'uv242z', resource: 'uYyu', nick: 'DEEBOT_710', company: 'eco-ng', bindTs: 1568983549228 } [app2.js] isKnownDevice: true [app2.js] isSupportedDevice: false [app2.js] name: DEEBOT 710 [app2.js] hasMainBrush: true [app2.js] hasSpotAreas: false [app2.js] hasCustomAreas: false [app2.js] hasMoppingSystem: false [app2.js] hasVoiceReports: true vacbot ready [VacBot] couldn't parse charge status [app2.js] ChargeState: null /home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:429 'event': getEventNameForCommandString(name), ^

ReferenceError: getEventNameForCommandString is not defined at EcovacsMQTT._message_to_dict (/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:429:30) at EcovacsMQTT._handle_message (/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:348:28) at MqttClient.EcovacsMQTT.client.on (/home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:81:18) at MqttClient.emit (events.js:198:13) at MqttClient._handlePublish (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lib/client.js:1162:12) at MqttClient._handlePacket (/home/pi/ecovacs-deebot.js/node_modules/mqtt/lib/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/lib/client.js:294:5) at doWrite (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lib/_stream_writable.js:428:64) at writeOrBuffer (/home/pi/ecovacs-deebot.js/node_modules/readable-stream/lib/_stream_writable.js:417:5) pi@raspberrypi:~/ecovacs-deebot.js/example $

mrbungle64 commented 4 years ago

@mrbungle64 Der erste Abschnitt, damit du nachvollziehen kannst was ich gemacht habe:

...

vacbot ready [VacBot] couldn't parse charge status
[app2.js] ChargeState: null /home/pi/ecovacs-deebot.js/library/ecovacsMQTT.js:429 'event': getEventNameForCommandString(name), ^

@capitaenz

Sorry, mein Fehler ...

Hab den Bug gerade noch schnell fixen können :) Update ist auf Github

Anmerkung zum 'Failure code 0002': Der kommt gefühlt random beim Verbinden - irgendwie eine Eigenart vom Ecovacs Server oder so ... Das ist übrigens was im Hintergrund passiert, wenn im ioBroker Log 'reconnecting (...)' kommt.

capitaenz commented 4 years ago

So, sieht zumindest für mich gut aus =)

pi@raspberrypi:~/ecovacs-deebot.js/example $ node app2.js eu (node:3070) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. { did: '73405b80-1bb8-4795-8fef-56474167db2d', name: 'E0001209318604870530', class: 'uv242z', resource: 'uYyu', nick: 'DEEBOT_710', company: 'eco-ng', bindTs: 1568983549228 } [app2.js] isKnownDevice: true [app2.js] isSupportedDevice: false [app2.js] name: DEEBOT 710 [app2.js] hasMainBrush: true [app2.js] hasSpotAreas: false [app2.js] hasCustomAreas: false [app2.js] hasMoppingSystem: false [app2.js] hasVoiceReports: true vacbot ready [VacBot] couldn't parse charge status [app2.js] ChargeState: null [app2.js] CleanReport: auto [app2.js] CleanReport: undefined [app2.js] ChargeState: idle [app2.js] CleanReport: auto [app2.js] BatteryInfo: 99 [app2.js] CleanReport: pause [app2.js] ChargeState: returning [app2.js] CleanReport: undefined [app2.js] ChargeState: charging [app2.js] CleanReport: stop

Alles per APP:

Noch etwas in eigener Sache: der Deebot 710 und 711 unterscheiden sich wohl nur in der Farbe, 710 weiß und 711 schwarz, also könntest du den 711 direkt mit aufnehmen ;-)

mrbungle64 commented 4 years ago

So, sieht zumindest für mich gut aus =)

Hi @capitaenz

ja das sieht gut aus :+1:

Ich habe Version 0.3.10 auf GitHub veröffentlicht, welche die getestete Version der Library verwendet. Ich bin gespannt, wie es nun im Adapter funktioniert :)

Noch etwas in eigener Sache: der Deebot 710 und 711 unterscheiden sich wohl nur in der Farbe, 710 weiß und 711 schwarz, also könntest du den 711 direkt mit aufnehmen ;-)

Danke für den Hinweis :+1: Ich werde das in die Doku aufnehmen.

mrbungle64 commented 4 years ago

Siehe Feedback in Issue 13