[Miio] No error of Roborock vacuum reported

Hello there,

I am not sure whether this or GitHub is the right place to post this. If you think GitHub would suit it better, just let me know=)

I recently bought a Roborock Q7Max vacuum and am currently working on implementing it into OpenHAB. This works great so far. Now I have noticed that the error-channels don’t seem to work:

I put something in front of the docking station to the vacuum would be unable to return to its dock. After some trying it have up. The vacuum said its problem out loud, the (Xiaomi) app shows an error but none of the channels report any error.
App:


(Translated: Docking station could not be reached, please remove obstacles)
OpenHAB:

String StatusErrorCode        "Error code" {channel="miio:vacuum:Staubsauger_System_Staubsauger:status#error_code"}
Number StatusErrorId          "Error"      {channel="miio:vacuum:Staubsauger_System_Staubsauger:status#error_id"}
Number CleaningLastCleanError "Error"      {channel="miio:vacuum:Staubsauger_System_Staubsauger:cleaning#last_clean_error"}
10:40:48 (01. 06.)    Item 'StatusErrorCode' changed from NULL to No error
10:40:48 (01. 06.)    Item 'StatusErrorId' changed from NULL to 0
10:42:38 (01. 06.)    Item 'CleaningLastCleanError' changed from NULL to 0

Does anybody face the same issue?

you can enable the debug log, check the responses for status message.
Maybe they have added some new data element to the status message that the binding is not capturing.

Thats a good idea, will try this

I reproduced the problem (made sure that the vacuum was unable to reach its dock) and took a closer look at the logs. However all the error fields seem to be happy (don’t report anything unusual)

09:53:32 (18. 07.)    Received response for device Staubsauger_System_Staubsauger type: GET_STATUS, result: [{"msg_ver":2,"msg_seq":4517,"state":3,"battery":100,"clean_time":14,"clean_area":122500,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":0,"in_fresh_state":1,"lab_status":1,"water_box_status":1,"fan_power":103,"dnd_enabled":0,"map_status":3,"is_locating":0,"lock_status":0,"water_box_mode":203,"distance_off":60,"water_box_carriage_status":0,"mop_forbidden_enable":0,"adbumper_status":[0,0,0],"dock_type":0,"dust_collection_status":0,"auto_dust_collection":1,"debug_mode":0,"switch_map_mode":0,"dock_error_status":0,"charge_status":1}], fullresponse: {"id":7611,"result":[{"msg_ver":2,"msg_seq":4517,"state":3,"battery":100,"clean_time":14,"clean_area":122500,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":0,"in_fresh_state":1,"lab_status":1,"water_box_status":1,"fan_power":103,"dnd_enabled":0,"map_status":3,"is_locating":0,"lock_status":0,"water_box_mode":203,"distance_off":60,"water_box_carriage_status":0,"mop_forbidden_enable":0,"adbumper_status":[0,0,0],"dock_type":0,"dust_collection_status":0,"auto_dust_collection":1,"debug_mode":0,"switch_map_mode":0,"dock_error_status":0,"charge_status":1}],"exe_time":10}

"error_code":0,, "dock_error_status":0.

Do you have any further ideas? I guess I should move this conversation into a github issue

Those would be indeed the one I would suspect the most.
I see there is a charge_status":1 I don’t recall seeing that one before.

Just to confirm. Is the modelid you see in the config detected roborock.vacuum.a38 or something different?

Yeah, I was wondering about that too since the vacuum clearly is not charging…


I am not sure whether I understand your question correctly. The vacuum is a Roborock Q7 Max which is according to the table in the binding docs a roborock.vacuum.a38 which is what I have configured in the things file:

miio:vacuum:Staubsauger_System_Staubsauger "Staubsauger_System_Staubsauger"@"System" [cloudServer="de", refreshInterval=5, host="staubsauger.fs", model="roborock.vacuum.a38", communication="direct", deviceId="XXX", timeout=15000, token="XXX"]

I just checked again and the binding auto discovers the vacuum correctly as a roborock.vacuum.a38.


Can I give you any other information…? Do the error_code & dock_error_status fields report errors for you?

Yes, that’s the id I was looking for. Send you a PM.

If I have time will take a look if I can better understand where the statusmessage is coming from. In that case I’ll let you know if I discover something.

1 Like