copystring / ioBroker.roborock

Roborock ioBroker Adapter
MIT License
45 stars 21 forks source link

Support for Roborock Q5 Pro #437

Closed gandaneo closed 10 months ago

gandaneo commented 11 months ago

Hello everyone,

I recently became the owner of a Roborock Q5 Pro and would like to integrate it into iobroker. Perhaps it would be possible to integrate this model into the adapter as well? I have already created a log file:


2023-11-24 23:54:18.484 - debug: roborock.0 (3592452) Redis Objects: Use Redis connection: 127.0.0.1:9001
2023-11-24 23:54:18.498 - debug: roborock.0 (3592452) Objects client ready ... initialize now
2023-11-24 23:54:18.499 - debug: roborock.0 (3592452) Objects create System PubSub Client
2023-11-24 23:54:18.500 - debug: roborock.0 (3592452) Objects create User PubSub Client
2023-11-24 23:54:18.516 - debug: roborock.0 (3592452) Objects client initialize lua scripts
2023-11-24 23:54:18.519 - debug: roborock.0 (3592452) Objects connected to redis: 127.0.0.1:9001
2023-11-24 23:54:18.530 - debug: roborock.0 (3592452) Redis States: Use Redis connection: 127.0.0.1:9000
2023-11-24 23:54:18.536 - debug: roborock.0 (3592452) States create System PubSub Client
2023-11-24 23:54:18.536 - debug: roborock.0 (3592452) States create User PubSub Client
2023-11-24 23:54:18.586 - debug: roborock.0 (3592452) States connected to redis: 127.0.0.1:9000
2023-11-24 23:54:18.603 - debug: roborock.0 (3592452) Plugin sentry Initialize Plugin (enabled=true)
2023-11-24 23:54:18.606 - info: roborock.0 (3592452) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
2023-11-24 23:54:18.678 - info: roborock.0 (3592452) starting. Version 0.4.4 in /opt/iobroker/node_modules/iobroker.roborock, node: v19.3.0, js-controller: 5.0.16
2023-11-24 23:54:19.150 - info: roborock.0 (3592452) MQTT initialized
2023-11-24 23:54:19.150 - debug: roborock.0 (3592452) RoomIDs debug: {"15138200":"Küche","15138209":"Esszimmer"}
2023-11-24 23:54:19.150 - error: roborock.0 (3592452) The model roborock.vacuum.a72 is not supported. Get in touch with the dev to get this robot supported.
2023-11-24 23:54:19.300 - error: roborock.0 (3592452) 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().
2023-11-24 23:54:19.300 - error: roborock.0 (3592452) unhandled promise rejection: Cannot find module './undefined'
Require stack:
- /opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js
- /opt/iobroker/node_modules/iobroker.roborock/main.js
2023-11-24 23:54:19.301 - error: roborock.0 (3592452) Error: Cannot find module './undefined'
Require stack:
- /opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js
- /opt/iobroker/node_modules/iobroker.roborock/main.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)
at Module._load (node:internal/modules/cjs/loader:885:27)
at Module.require (node:internal/modules/cjs/loader:1105:19)
at require (node:internal/modules/cjs/helpers:103:18)
at new vacuum (/opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js:45:31)
at /opt/iobroker/node_modules/iobroker.roborock/main.js:208:29
2023-11-24 23:54:19.301 - error: roborock.0 (3592452) Exception-Code: MODULE_NOT_FOUND: Cannot find module './undefined'
Require stack:
- /opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js
- /opt/iobroker/node_modules/iobroker.roborock/main.js
2023-11-24 23:54:19.303 - info: roborock.0 (3592452) terminating
2023-11-24 23:54:19.304 - debug: roborock.0 (3592452) Plugin sentry destroyed
2023-11-24 23:54:19.304 - warn: roborock.0 (3592452) Terminated (UNCAUGHT_EXCEPTION): Without reason
2023-11-24 23:54:19.805 - info: roborock.0 (3592452) terminating
2023-11-24 23:54:19.839 - error: host.iobroker instance system.adapter.roborock.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
2023-11-24 23:54:19.839 - info: host.iobroker Restart adapter system.adapter.roborock.0 because enabled

Many thanks in advance.

copystring commented 11 months ago

Please test https://github.com/copystring/ioBroker.roborock/tree/dev and let me know if anything is missing. Most likely, some commands would be missing. If there are any errors or warnings, post a new Debuglog. Thank you.

gandaneo commented 11 months ago

Thanks for the quick response! The adapter now displays values, but is deactivated again after a short time as it is unstable. Enclosed is the log, perhaps this will help you for anaylsis.

2023-11-27 18:12:36.631 - debug: roborock.0 (3985208) getParameter for 1234567890DIDtempPlaceholder: get_fw_features
2023-11-27 18:12:36.631 - debug: roborock.0 (3985208) Firmware features request
2023-11-27 18:12:36.765 - debug: roborock.0 (3985208) dps debug: {"id":4295,"result":[111,112,113,114,115,116,117,118,119,120,122,123,124,125]}
2023-11-27 18:12:36.765 - debug: roborock.0 (3985208) Length of message queue: 0
2023-11-27 18:12:36.766 - debug: roborock.0 (3985208) getParameter for 1234567890DIDtempPlaceholder: get_multi_maps_list
2023-11-27 18:12:37.094 - debug: roborock.0 (3985208) dps debug: {"id":4955,"result":[{"max_multi_map":4,"max_bak_map":1,"multi_map_count":2,"map_info":[{"mapFlag":0,"add_time":1701074583,"length":11,"name":"Erdgeschoss","bak_maps":[{"mapFlag":4,"add_time":1701000583}]},{"mapFlag":1,"add_time":1701074508,"length":12,"name":"Obergeschoss","bak_maps":[{"mapFlag":5,"add_time":1701023833}]}]}]}
2023-11-27 18:12:37.094 - debug: roborock.0 (3985208) Length of message queue: 0
2023-11-27 18:12:37.095 - debug: roborock.0 (3985208) Latest data requested
2023-11-27 18:12:37.095 - debug: roborock.0 (3985208) getParameter for 1234567890DIDtempPlaceholder: get_status
2023-11-27 18:12:37.251 - debug: roborock.0 (3985208) dps debug: {"id":5394,"result":[{"msg_ver":2,"msg_seq":274,"state":8,"battery":100,"clean_time":426,"clean_area":7852500,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":0,"in_fresh_state":1,"lab_status":3,"water_box_status":1,"fan_power":106,"dnd_enabled":0,"map_status":3,"is_locating":0,"lock_status":0,"adbumper_status":[0,0,0],"dock_type":0,"dust_collection_status":0,"auto_dust_collection":1,"mop_mode":302,"debug_mode":0,"in_warmup":0,"switch_map_mode":0,"dock_error_status":0,"charge_status":1,"unsave_map_reason":0,"unsave_map_flag":0,"clean_percent":0,"rss":2,"dss":0,"common_status":0}]}
2023-11-27 18:12:37.251 - debug: roborock.0 (3985208) Length of message queue: 0
2023-11-27 18:12:37.252 - debug: roborock.0 (3985208) get_status: {"msg_ver":2,"msg_seq":274,"state":8,"battery":100,"clean_time":426,"clean_area":7852500,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":0,"in_fresh_state":1,"lab_status":3,"water_box_status":1,"fan_power":106,"dnd_enabled":0,"map_status":3,"is_locating":0,"lock_status":0,"adbumper_status":[0,0,0],"dock_type":0,"dust_collection_status":0,"auto_dust_collection":1,"mop_mode":302,"debug_mode":0,"in_warmup":0,"switch_map_mode":0,"dock_error_status":0,"charge_status":1,"unsave_map_reason":0,"unsave_map_flag":0,"clean_percent":0,"rss":2,"dss":0,"common_status":0}
2023-11-27 18:12:37.342 - debug: roborock.0 (3985208) getParameter for 1234567890DIDtempPlaceholder: get_room_mapping
2023-11-27 18:12:37.345 - error: roborock.0 (3985208) Failed to execute get_status on robot 1234567890DIDtempPlaceholder undefined
2023-11-27 18:12:37.345 - error: roborock.0 (3985208) 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().
2023-11-27 18:12:37.345 - error: roborock.0 (3985208) unhandled promise rejection: Cannot read properties of undefined (reading 'captureException')
2023-11-27 18:12:37.345 - error: roborock.0 (3985208) TypeError: Cannot read properties of undefined (reading 'captureException')
at Roborock.catchError (/opt/iobroker/node_modules/iobroker.roborock/main.js:862:44)
2023-11-27 18:12:37.346 - error: roborock.0 (3985208) Cannot read properties of undefined (reading 'captureException')
2023-11-27 18:12:37.346 - error: roborock.0 (3985208) Failed to execute get_status on robot 1234567890DIDtempPlaceholder undefined
2023-11-27 18:12:37.346 - error: roborock.0 (3985208) 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().
2023-11-27 18:12:37.346 - error: roborock.0 (3985208) unhandled promise rejection: Cannot read properties of undefined (reading 'captureException')
2023-11-27 18:12:37.347 - error: roborock.0 (3985208) TypeError: Cannot read properties of undefined (reading 'captureException')
at Roborock.catchError (/opt/iobroker/node_modules/iobroker.roborock/main.js:862:44)
at runNextTicks (node:internal/process/task_queues:60:5)
at process.processImmediate (node:internal/timers:442:9)
2023-11-27 18:12:37.347 - error: roborock.0 (3985208) Cannot read properties of undefined (reading 'captureException')
2023-11-27 18:12:37.347 - debug: roborock.0 (3985208) 1234567890DIDtempPlaceholder online. Starting mainUpdateInterval.
2023-11-27 18:12:37.356 - info: roborock.0 (3985208) terminating
2023-11-27 18:12:37.358 - debug: roborock.0 (3985208) Plugin sentry destroyed
2023-11-27 18:12:37.358 - warn: roborock.0 (3985208) Terminated (UNCAUGHT_EXCEPTION): Without reason
2023-11-27 18:12:37.446 - debug: roborock.0 (3985208) dps debug: {"id":8019,"result":[{"msg_ver":2,"msg_seq":275,"state":8,"battery":100,"clean_time":426,"clean_area":7852500,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":0,"in_fresh_state":1,"lab_status":3,"water_box_status":1,"fan_power":106,"dnd_enabled":0,"map_status":3,"is_locating":0,"lock_status":0,"adbumper_status":[0,0,0],"dock_type":0,"dust_collection_status":0,"auto_dust_collection":1,"mop_mode":302,"debug_mode":0,"in_warmup":0,"switch_map_mode":0,"dock_error_status":0,"charge_status":1,"unsave_map_reason":0,"unsave_map_flag":0,"clean_percent":0,"rss":2,"dss":0,"common_status":0}]}
2023-11-27 18:12:37.446 - debug: roborock.0 (3985208) Length of message queue: 0
2023-11-27 18:12:37.489 - warn: roborock.0 (3985208) setTimeout called, but adapter is shutting down
2023-11-27 18:12:37.622 - debug: roborock.0 (3985208) dps debug: {"id":7425,"result":[[16,"15138200",14],[18,"15138209",13]]}
2023-11-27 18:12:37.622 - debug: roborock.0 (3985208) Length of message queue: 0
2023-11-27 18:12:37.622 - debug: roborock.0 (3985208) All mapped rooms: [[16,"15138200",14],[18,"15138209",13]]
2023-11-27 18:12:37.622 - debug: roborock.0 (3985208) Mapped room matched: 15138200 with name: Küche
2023-11-27 18:12:37.622 - debug: roborock.0 (3985208) Mapped room matched: 15138209 with name: Esszimmer
2023-11-27 18:12:37.622 - debug: roborock.0 (3985208) getParameter for 1234567890DIDtempPlaceholder: get_consumable
2023-11-27 18:12:37.632 - warn: roborock.0 (3985208) setTimeout called, but adapter is shutting down
2023-11-27 18:12:37.859 - info: roborock.0 (3985208) terminating
2023-11-27 18:12:37.886 - error: host.iobroker instance system.adapter.roborock.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
2023-11-27 18:12:37.886 - info: host.iobroker Restart adapter system.adapter.roborock.0 because enabled
2023-11-27 18:13:08.588 - debug: roborock.0 (3985489) Redis Objects: Use Redis connection: 127.0.0.1:9001
2023-11-27 18:13:08.603 - debug: roborock.0 (3985489) Objects client ready ... initialize now
2023-11-27 18:13:08.604 - debug: roborock.0 (3985489) Objects create System PubSub Client
2023-11-27 18:13:08.605 - debug: roborock.0 (3985489) Objects create User PubSub Client
2023-11-27 18:13:08.621 - debug: roborock.0 (3985489) Objects client initialize lua scripts
2023-11-27 18:13:08.624 - debug: roborock.0 (3985489) Objects connected to redis: 127.0.0.1:9001
2023-11-27 18:13:08.636 - debug: roborock.0 (3985489) Redis States: Use Redis connection: 127.0.0.1:9000
2023-11-27 18:13:08.685 - debug: roborock.0 (3985489) States create System PubSub Client
2023-11-27 18:13:08.686 - debug: roborock.0 (3985489) States create User PubSub Client
2023-11-27 18:13:08.738 - debug: roborock.0 (3985489) States connected to redis: 127.0.0.1:9000
2023-11-27 18:13:08.754 - debug: roborock.0 (3985489) Plugin sentry Initialize Plugin (enabled=true)
2023-11-27 18:13:08.756 - info: roborock.0 (3985489) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
2023-11-27 18:13:08.814 - info: roborock.0 (3985489) starting. Version 0.4.4 (non-npm: copystring/ioBroker.roborock#dev) in /opt/iobroker/node_modules/iobroker.roborock, node: v19.3.0, js-controller: 5.0.16
2023-11-27 18:13:09.704 - info: roborock.0 (3985489) MQTT initialized
2023-11-27 18:13:09.704 - debug: roborock.0 (3985489) RoomIDs debug: {"15138200":"Küche","15138209":"Esszimmer","15252615":"Schlafzimmer","15252616":"Badezimmer","15252620":"Flur","15252628":"Schlafzimmer1","15252633":"Kinderzimmer"}
2023-11-27 18:13:09.707 - debug: roborock.0 (3985489) Robot key: roborock.vacuum.a72
copystring commented 11 months ago

Very odd error. Would you please reinstall the adapter once and test again?

stale[bot] commented 10 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.