Malformed or unexpected API response - When adding Vacuum Cleaner
Hi,
I'm trying to add a Ilmou account to my HA setup. I've used HACS to implement the feature. This all works good and makes the files and directories. When coupling the API I get the following error:
I've used another API URL btw, the one in the example gives a 404. The new version I used is for me the Central-EU one. https://openapi-fk.easy4ip.com:443/openapi
Others can be found in the documentation: https://open.imoulife.com/book/en/http/develop.html
Errorlog:
Logger: custom_components.imou_life Source: custom_components/imou_life/config_flow.py:82 Integration: Imou Life ([documentation](https://github.com/user2684/imou_life), [issues](https://github.com/user2684/imou_life/issues)) First occurred: September 18, 2023 at 10:17:36 PM (4 occurrences) Last logged: 7:31:40 AM InvalidResponse: missing parameter or error parsing in {'expandChanNum': '', 'productId': 'HWtbmQvU', 'trackFollowStatus': '', 'httpPort': '80', 'privatePort': '', 'rtspPort': '554', 'deviceId': 'LCHL2559C20221001840', 'version': '0.0.3', 'aplist': [], 'accessType': 'PaaS', 'p2pPort': '554', 'port': '37777', 'encryptMode': 0, 'tlsPrivatePort': '37778', 'name': 'Gerrit', 'deviceModel': 'RV-L11', 'ability': '', 'brand': 'easy4Ip', 'playToken': 'g3drNFBoV38iLNhvPDctKpBYRmg5cavPbuljzcYmm4JMu4hYf51s51Nkg4VBQyfORMbPLSeiBpQGEW4d1c/DvlJMeGhWrzIaUUUxx+YcblnjqsSP59K/WRwQdQ/pntcOFKRx8PaLpkKrIYzIuTl4HaPL2rh+ryE2aOMqHzU5oYxhbauj9oLw+mczhlBc0PGO', 'shareStatus': 'owner', 'status': 'online'} Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/imouapi/device.py", line 189, in async_initialize self._catalog = device_data["catalog"] ~~~~~~~~~~~^^^^^^^^^^^ KeyError: 'catalog' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/config/custom_components/imou_life/config_flow.py", line 130, in async_step_discover await self._discover_service.async_discover_devices() File "/usr/local/lib/python3.11/site-packages/imouapi/device.py", line 641, in async_discover_devices await device.async_initialize() File "/usr/local/lib/python3.11/site-packages/imouapi/device.py", line 360, in async_initialize raise InvalidResponse(f" missing parameter or error parsing in {device_data}") from exception imouapi.exceptions.InvalidResponse: missing parameter or error parsing in {'expandChanNum': '', 'productId': 'HWtbmQvU', 'trackFollowStatus': '', 'httpPort': '80', 'privatePort': '', 'rtspPort': '554', 'deviceId': 'LCHL2559C20221001840', 'version': '0.0.3', 'aplist': [], 'accessType': 'PaaS', 'p2pPort': '554', 'port': '37777', 'encryptMode': 0, 'tlsPrivatePort': '37778', 'name': 'Gerrit', 'deviceModel': 'RV-L11', 'ability': '', 'brand': 'easy4Ip', 'playToken': 'g3drNFBoV38iLNhvPDctKpBYRmg5cavPbuljzcYmm4JMu4hYf51s51Nkg4VBQyfORMbPLSeiBpQGEW4d1c/DvlJMeGhWrzIaUUUxx+YcblnjqsSP59K/WRwQdQ/pntcOFKRx8PaLpkKrIYzIuTl4HaPL2rh+ryE2aOMqHzU5oYxhbauj9oLw+mczhlBc0PGO', 'shareStatus': 'owner', 'status': 'online'}
The API is getting the device because it's name is indeed "Gerrit", haha. Are not all vacuums supported at this time? Thanks in advance!
Hi, unfortunately vacuum cleaners works with a completely set of undocumented API so until there will be documentation on how to interact with them there will be no way to support these devices :-/ Ref: #23 #72
Hi, unfortunately vacuum cleaners works with a completely set of undocumented API so until there will be documentation on how to interact with them there will be no way to support these devices :-/ Ref: #23 #72
Thank you for the information, that is too bad. Hoping that a API will come in the future. I'll send them a feature request, always worth a shot :). Keep up the good work!
Closing this for now until there will be a documented API available from Imou for the implementation