Checklist
What vacuum model do you want to be supported?
xiaomi.vacuum.d101
What is its name?
H40
Available APIs
Errors shown in the HA logs (if applicable)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 309, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/xiaomi_cloud_map_extractor/coordinator.py", line 37, in update_data
return await self.connector.get_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/xiaomi_cloud_map_extractor/connector/__init__.py", line 88, in get_data
await self._get_map()
File "/config/custom_components/xiaomi_cloud_map_extractor/connector/__init__.py", line 191, in _get_map
self._map_cache.additional_vacuum_data = self._vacuum_connector.additional_data()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/config/custom_components/xiaomi_cloud_map_extractor/connector/vacuums/vacuum_xiaomi.py", line 159, in additional_data
enc_key = gen_md5_key(
self.model.replace("xiaomi", "mi"),
str(self._device_id),
)
File "/usr/local/lib/python3.14/site-packages/vacuum_map_parser_xiaomi/aes_decryptor.py", line 91, in gen_md5_key
encKey = aes_encrypt(originalWork.encode("latin1"), modelKey.encode("latin1"), iv)
File "/usr/local/lib/python3.14/site-packages/vacuum_map_parser_xiaomi/aes_decryptor.py", line 18, in aes_encrypt
cipher = AES.new(key, AES.MODE_CBC, iv)
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/AES.py", line 229, in new
return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/__init__.py", line 52, in _create_cipher
res = _create_cbc_cipher(factory, **kwargs)
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/_mode_cbc.py", line 274, in _create_cbc_cipher
cipher_state = factory._create_base_cipher(kwargs)
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/AES.py", line 91, in _create_base_cipher
raise ValueError("Incorrect AES key length (%d bytes)" % len(key))
ValueError: Incorrect AES key length (14 bytes)
Other info
Checklist
piotr.machowski.dev [at] gmail.com(Retrieving map; please provide your GitHub username in the email)What vacuum model do you want to be supported?
xiaomi.vacuum.d101
What is its name?
H40
Available APIs
Errors shown in the HA logs (if applicable)
Other info