mrbungle64 / ioBroker.ecovacs-deebot

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

Adapter crashes after update #671

Closed KaijitsuTakahashi closed 2 months ago

KaijitsuTakahashi commented 2 months ago

Is there an existing issue for this?

The problem

After updating to version v1.4.15, I have errors in logs, and the adapter keeps restarting: TypeError: this.objectExists is not a function at EcovacsDeebot.handleWaterBoxScrubbingType TypeError: this.objectExists is not a function at EcovacsDeebot.handleWaterBoxMoppingType

Everything was fine before the update.

With which model does the problem occur?

Deebot T10 series

From which source you have installed the adapter?

Stable (default)

Version of the ioBroker adapter ("info.version")

1.4.15

Version of the ecovacs-deebot.js library ("info.library.version")

0.9.6-beta.3

Version of the JS controller

4.0.24

Version of Node.js

v18.17.1

Operating system

Linux

Anything in the logs that might be useful?

<html>
<body>
<!--StartFragment-->
host.b820d88772f1 | 2024-04-16 22:05:19.978 | warn | Do not restart adapter system.adapter.ecovacs-deebot.0 because restart loop detected
-- | -- | -- | --
host.b820d88772f1 | 2024-04-16 22:05:19.977 | error | instance system.adapter.ecovacs-deebot.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
ecovacs-deebot.0 | 2024-04-16 22:05:19.884 | error | this.objectExists is not a function
ecovacs-deebot.0 | 2024-04-16 22:05:19.883 | error | TypeError: this.objectExists is not a function at EcovacsDeebot.handleWaterBoxScrubbingType (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:2031:28) at /opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:561:34 at EcovacsMQTT_JSON.<anonymous> (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:562:27) at EcovacsMQTT_JSON.emit (node:events:514:28) at EcovacsMQTT_JSON.emitMessage (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacs.js:358:14) at EcovacsMQTT_JSON.handleMessagePayload (/opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:536:26) at /opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:124:32 at EcovacsMQTT_JSON.handleMessage (/opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:128:15) at EcovacsMQTT_JSON.handleCommandResponse (/opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:69:22) at EcovacsMQTT_JSON.sendCommand (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:214:22)
ecovacs-deebot.0 | 2024-04-16 22:05:19.882 | error | unhandled promise rejection: this.objectExists is not a function
ecovacs-deebot.0 | 2024-04-16 22:05:19.881 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
ecovacs-deebot.0 | 2024-04-16 22:05:19.880 | error | this.objectExists is not a function
ecovacs-deebot.0 | 2024-04-16 22:05:19.879 | error | TypeError: this.objectExists is not a function at EcovacsDeebot.handleWaterBoxMoppingType (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:2015:24) at /opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:555:34 at EcovacsMQTT_JSON.<anonymous> (/opt/iobroker/node_modules/iobroker.ecovacs-deebot/main.js:556:27) at EcovacsMQTT_JSON.emit (node:events:514:28) at EcovacsMQTT_JSON.emitMessage (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacs.js:358:14) at EcovacsMQTT_JSON.handleMessagePayload (/opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:533:26) at /opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:124:32 at EcovacsMQTT_JSON.handleMessage (/opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:128:15) at EcovacsMQTT_JSON.handleCommandResponse (/opt/iobroker/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:69:22) at EcovacsMQTT_JSON.sendCommand (/opt/iobroker/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:214:22)

<!--EndFragment-->
</body>
</html>

Additional information

No response

Which "other" models are you using?

No response

Ecovacs device class ("info.deviceClass")

No response

Communication protocol ("info.library.communicationProtocol")

None

Is the canvas module installed? ("info.library.canvasModuleIsInstalled")

None

mrbungle64 commented 2 months ago

@KaijitsuTakahashi

I could reproduce this issue on an ioBroker system with JS Controller 4.0.x After I upgraded to 5.0.19 the error didn't appear anymore

I have to bump the min. required version JS Controller to 5.0.x Why are you still on JS Controller 4.0.x?

KaijitsuTakahashi commented 2 months ago

Thanks, I've updated the JS Controller to 5.0.19, and the issue has been resolved.