petretiandrea / home-assistant-tapo-p100

A custom integration to control Tapo devices from home assistant.
MIT License
820 stars 102 forks source link

Cannot add Tapo L900 Led Strip #151

Closed rfnunes closed 1 year ago

rfnunes commented 2 years ago

Hi,

I have a Tapo L900 Led Strip (with latest firmware) that was working perfectly with this integration. Suddenly it stopped working (didn't checked the logs at the time) so I deleted it and tried to re-add but now I always get an Unexpected Exception. I tested with other devices (P100 plug, L530 bulb) and I was able to re-add them without problems.

Logger: custom_components.tapo.config_flow Source: custom_components/tapo/config_flow.py:94 Integration: tapo_p100 (documentation, issues) First occurred: 9:53:41 AM (1 occurrences) Last logged: 9:53:41 AM

Unexpected exception Traceback (most recent call last): File "/config/custom_components/tapo/config_flow.py", line 57, in async_step_user entry_metadata = await self._validate_input(user_input) File "/config/custom_components/tapo/config_flow.py", line 94, in _validate_input state = await tapo_api.get_state() File "/usr/local/lib/python3.9/site-packages/plugp100/api.py", line 88, in get_state state=await self.get_state_as_dict(), File "/usr/local/lib/python3.9/site-packages/plugp100/api.py", line 212, in get_state_as_dict return await self._execute_method_request(device_info_method) File "/usr/local/lib/python3.9/site-packages/plugp100/api.py", line 240, in _execute_method_request self.tp_link_cipher.decrypt( File "/usr/local/lib/python3.9/site-packages/plugp100/core/tp_link_cipher.py", line 23, in decrypt return pkcs7.PKCS7Encoder().decode(pad_text) File "/usr/local/lib/python3.9/site-packages/pkcs7/init.py", line 44, in decode raise Exception('text not %d align'%(self.__klen)) Exception: text not 16 align

acs-lux commented 2 years ago

I have an L530 and L920. The L530 works but i only get sensors for the L920 and no light switch entity.

petretiandrea commented 2 years ago

I have an L530 and L920. The L530 works but i only get sensors for the L920 and no light switch entity.

Are you talking about L920 or L900?

EDIT: Actually L920 is not supported by this integration, but I can the support. If I am not wrong, L920 is an addressable light strip. So the plan is:

To help me to achieve the first point, please open a new issue requiring the support for L920 and report in this new issue the output of this snippet of code: (before execute install with pip plugp100==2.1.13b1

import asyncio
from plugp100 import TapoApiClient

async def main():
    # create generic tapo api
    sw = TapoApiClient("<ip>", "<email>", "<passwd>")
    await sw.login()
    state = await sw.get_state()
    print(state.state)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.run_until_complete(asyncio.sleep(0.1))
loop.close()
petretiandrea commented 2 years ago

Hi,

I have a Tapo L900 Led Strip (with latest firmware) that was working perfectly with this integration. Suddenly it stopped working (didn't checked the logs at the time) so I deleted it and tried to re-add but now I always get an Unexpected Exception. I tested with other devices (P100 plug, L530 bulb) and I was able to re-add them without problems.

Logger: custom_components.tapo.config_flow Source: custom_components/tapo/config_flow.py:94 Integration: tapo_p100 (documentation, issues) First occurred: 9:53:41 AM (1 occurrences) Last logged: 9:53:41 AM

Unexpected exception Traceback (most recent call last): File "/config/custom_components/tapo/config_flow.py", line 57, in async_step_user entry_metadata = await self._validate_input(user_input) File "/config/custom_components/tapo/config_flow.py", line 94, in _validate_input state = await tapo_api.get_state() File "/usr/local/lib/python3.9/site-packages/plugp100/api.py", line 88, in get_state state=await self.get_state_as_dict(), File "/usr/local/lib/python3.9/site-packages/plugp100/api.py", line 212, in get_state_as_dict return await self._execute_method_request(device_info_method) File "/usr/local/lib/python3.9/site-packages/plugp100/api.py", line 240, in _execute_method_request self.tp_link_cipher.decrypt( File "/usr/local/lib/python3.9/site-packages/plugp100/core/tp_link_cipher.py", line 23, in decrypt return pkcs7.PKCS7Encoder().decode(pad_text) File "/usr/local/lib/python3.9/site-packages/pkcs7/init.py", line 44, in decode raise Exception('text not %d align'%(self.__klen)) Exception: text not 16 align

Which version of integration are you running? If not, please update to the latest 1.2.9 from hacs store.

rfnunes commented 2 years ago

Hi, I'm running the latest version, 1.2.9.

petretiandrea commented 2 years ago

This is strange. OS and CPU? Have you tried to remove and re-add the integration?

rfnunes commented 2 years ago

I've tried after removing and adding the integration back again, with all available versions and I always get the same error. HA is running in a virtualbox VM over mac os.

acs-lux commented 2 years ago

Hi, I am struggling to install plugp100 with pip. It says unknown command. Can you be more specific about what I need to do?

hassio@DESKTOP-52GDQOA:~$ pip3  plugp100==2.1.13b1
ERROR: unknown command "plugp100==2.1.13b1"
hassio@DESKTOP-52GDQOA:~$ pip plugp100==2.1.13b1
ERROR: unknown command "plugp100==2.1.13b1"
hassio@DESKTOP-52GDQOA:~$ pip plugp100
ERROR: unknown command "plugp100"
hassio@DESKTOP-52GDQOA:~$

Cant do this inside HA so trying with WSL

petretiandrea commented 2 years ago

pip install plugp100==2.1.13b1

acs-lux commented 2 years ago

Hi, ok great that worked, now how do i run the script in WSL?

petretiandrea commented 2 years ago

Hi, ok great that worked, now how do i run the script in WSL?

Copy the script into a new file main.py. Change "<ip>", "<email>", "<passwd>" with your data, and then run using: python main.py

acs-lux commented 2 years ago

ah ok thanks

petretiandrea commented 2 years ago

I've tried after removing and adding the integration back again, with all available versions and I always get the same error. HA is running in a virtualbox VM over mac os.

j1104c commented 2 years ago

這很奇怪。操作系統和CPU?您是否嘗試過刪除並重新添加集成?

hi i have same issue i use os is core-2022.7.6 and this is log and what can i do ? Logger: custom_components.tapo.config_flow Source: custom_components/tapo/config_flow.py:92 Integration: Tapo Controller (documentation, issues) First occurred: 21:33:44 (1 occurrences) Last logged: 21:33:44

Unexpected exception Traceback (most recent call last): File "/config/custom_components/tapo/config_flow.py", line 55, in async_step_user entry_metadata = await self._validate_input(user_input) File "/config/custom_components/tapo/config_flow.py", line 92, in _validate_input state = await tapo_api.get_state() File "/usr/local/lib/python3.10/site-packages/plugp100/api.py", line 89, in get_state state=await self.get_state_as_dict(), File "/usr/local/lib/python3.10/site-packages/plugp100/api.py", line 213, in get_state_as_dict return await self._execute_method_request(device_info_method) File "/usr/local/lib/python3.10/site-packages/plugp100/api.py", line 241, in _execute_method_request self.tp_link_cipher.decrypt( File "/usr/local/lib/python3.10/site-packages/plugp100/core/tp_link_cipher.py", line 23, in decrypt return PKCS7Encoder().decode(pad_text) File "/usr/local/lib/python3.10/site-packages/plugp100/core/pkcs7/init.py", line 37, in decode raise Exception('text not %d align'%(self.__klen)) Exception: text not 16 align

petretiandrea commented 2 years ago

Which version of integration are you using?

j1104c commented 2 years ago

v1.2.15

j1104c commented 2 years ago

您使用的是哪個版本的集成?

hello now i'm useing tapo integration v1.2.16 homeassistant core2022.7.6 supervisorOS9.2 and L900 is not connect on tapo controller so now what can i do? show the log 自行安裝整合產生錯誤。

Logger: custom_components.tapo.config_flow Source: custom_components/tapo/config_flow.py:92 Integration: Tapo Controller (documentation, issues) First occurred: 03:27:51 (1 occurrences) Last logged: 03:27:51

Unexpected exception Traceback (most recent call last): File "/config/custom_components/tapo/config_flow.py", line 55, in async_step_user entry_metadata = await self._validate_input(user_input) File "/config/custom_components/tapo/config_flow.py", line 92, in _validate_input state = await tapo_api.get_state() File "/usr/local/lib/python3.10/site-packages/plugp100/api.py", line 89, in get_state state=await self.get_state_as_dict(), File "/usr/local/lib/python3.10/site-packages/plugp100/api.py", line 213, in get_state_as_dict return await self._execute_method_request(device_info_method) File "/usr/local/lib/python3.10/site-packages/plugp100/api.py", line 241, in _execute_method_request self.tp_link_cipher.decrypt( File "/usr/local/lib/python3.10/site-packages/plugp100/core/tp_link_cipher.py", line 23, in decrypt return PKCS7Encoder().decode(pad_text) File "/usr/local/lib/python3.10/site-packages/plugp100/core/pkcs7/init.py", line 37, in decode raise Exception('text not %d align'%(self.__klen)) Exception: text not 16 align