homeassistant-roborock icon indicating copy to clipboard operation
homeassistant-roborock copied to clipboard

Battery always reports 100%

Open chriswood1001 opened this issue 1 year ago • 0 comments

Version of the custom_component

1.0.11

What vacuum are you using?

A51 and A15 Roborock S7 and S8

Describe the bug

The vacuum always reports 100% battery level.

This is a recently discovered defect, known to work weeks ago. I'm still able to control the vacuum (start cleaning), and I'm able to see other status reports such as last clean. However, battery level is always reported at 100% (confirmed in the original Roborock app that it's closer to 60% charge).

Debug log

Logger: roborock.cloud_api
Source: /usr/local/lib/python3.11/site-packages/roborock/api.py:294
First occurred: 9:45:25 AM (3 occurrences)
Last logged: 9:47:45 AM

[Sweeping Beauty] Padding is incorrect.
[The Grim Sweeper] Padding is incorrect.
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/roborock/api.py", line 282, in on_message_received
    decrypted = Utils.decrypt_cbc(data.payload[24:], self._nonce)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/roborock/protocol.py", line 155, in decrypt_cbc
    return unpad(decipher.decrypt(ciphertext), AES.block_size)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/Crypto/Util/Padding.py", line 92, in unpad
    raise ValueError("Padding is incorrect.")
ValueError: Padding is incorrect.
Logger: roborock.cloud_api
Source: /usr/local/lib/python3.11/site-packages/roborock/api.py:294
First occurred: 9:47:45 AM (1 occurrences)
Last logged: 9:47:45 AM

[Sweeping Beauty] PKCS#7 padding is incorrect.
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/roborock/api.py", line 282, in on_message_received
    decrypted = Utils.decrypt_cbc(data.payload[24:], self._nonce)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/roborock/protocol.py", line 155, in decrypt_cbc
    return unpad(decipher.decrypt(ciphertext), AES.block_size)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/Crypto/Util/Padding.py", line 95, in unpad
    raise ValueError("PKCS#7 padding is incorrect.")
ValueError: PKCS#7 padding is incorrect.

chriswood1001 avatar Aug 31 '23 16:08 chriswood1001