Skip to content

Failed to decode map payload #532

@jamesonuk

Description

@jamesonuk

Had this today after restarting HA and integration will not reload

roborock.exceptions.RoborockException: Failed to decode map message payload
Logger: roborock.version_1_apis.roborock_mqtt_client_v1
Source: /usr/local/lib/python3.13/site-packages/roborock/version_1_apis/roborock_client_v1.py:463
First occurred: 14:59:11 (1 occurrence)
Last logged: 14:59:11

[Saros Z70] Failed to decode map message payload
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/roborock/protocols/v1_protocol.py", line 193, in _decode_map_response
    decrypted = Utils.decrypt_cbc(body, security_data.nonce)
  File "/usr/local/lib/python3.13/site-packages/roborock/protocol.py", line 149, in decrypt_cbc
    return unpad(decipher.decrypt(ciphertext), AES.block_size)
  File "/usr/local/lib/python3.13/site-packages/Crypto/Util/Padding.py", line 98, in unpad
    raise ValueError("Padding is incorrect.")
ValueError: Padding is incorrect.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/roborock/version_1_apis/roborock_client_v1.py", line 441, in on_message_received
    map_response = self._map_response_decoder(data)
  File "/usr/local/lib/python3.13/site-packages/roborock/protocols/v1_protocol.py", line 195, in _decode_map_response
    raise RoborockException("Failed to decode map message payload") from err
roborock.exceptions.RoborockException: Failed to decode map message payload

Which I think was caused by the main brush being jammed at the time I restarted HA.

I also have this (which I guess is the actual issue)

roborock.exceptions.CommandVacuumError: RoborockCommand.LOAD_MULTI_MAP: (-10007, 'invalid status')
Logger: homeassistant.config_entries
Source: config_entries.py:761
First occurred: 14:49:28 (2 occurrences)
Last logged: 14:59:11

Error setting up entry xxx@gmail.com for roborock
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/roborock/version_1_apis/roborock_mqtt_client_v1.py", line 65, in _send_command
    response = await async_response
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/roborock/api.py", line 82, in _wait_response
    response = await queue.async_get(self.queue_timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/roborock/roborock_future.py", line 34, in async_get
    return await self.fut
           ^^^^^^^^^^^^^^
roborock.exceptions.VacuumError: (-10007, 'invalid status')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roborock/__init__.py", line 118, in async_setup_entry
    await asyncio.gather(
        *(coord.refresh_coordinator_map() for coord in valid_coordinators.v1)
    )
  File "/usr/src/homeassistant/homeassistant/components/roborock/coordinator.py", line 425, in refresh_coordinator_map
    await self.cloud_api.load_multi_map(map_flag)
  File "/usr/local/lib/python3.13/site-packages/roborock/version_1_apis/roborock_client_v1.py", line 344, in load_multi_map
    await self.send_command(RoborockCommand.LOAD_MULTI_MAP, [map_flag])
  File "/usr/local/lib/python3.13/site-packages/roborock/version_1_apis/roborock_client_v1.py", line 501, in send_command
    response = await self._send_command(method, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/roborock/version_1_apis/roborock_mqtt_client_v1.py", line 71, in _send_command
    raise CommandVacuumError(method, err) from err
roborock.exceptions.CommandVacuumError: RoborockCommand.LOAD_MULTI_MAP: (-10007, 'invalid status')

The brush has now been un-jammed and the vacuum is cleaning again but I am unable to reload the integration

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions