sanjay900 / solution3000-home-assistant

This integration allows for connecting home assistant to a solution 2000 or 3000 panel.
10 stars 0 forks source link

TypeError: object of type 'int' has no len() #8

Closed dimxyp closed 1 year ago

dimxyp commented 1 year ago

Hi,

facing the below issue during initial configuration amax 3000 Home Assistant 2023.2.3 Supervisor 2023.01.1 Operating System 9.5

` Logger: aiohttp.server Source: custom_components/solution3000/solution3000.py:430 Integration: solution3000 First occurred: 8:11:14 PM (2 occurrences) Last logged: 8:11:21 PM

Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle resp = await handler(request) File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 145, in handle result = await result File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper result = await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 253, in async_configure result = await self._async_handle_step( File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 335, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) File "/config/custom_components/solution3000/config_flow.py", line 82, in async_step_user await panel.initialise() File "/config/custom_components/solution3000/solution3000.py", line 649, in initialise await self._authenticate() File "/config/custom_components/solution3000/solution3000.py", line 430, in _authenticate if len(self.pincode) > 24 or len(self.pincode) < 6: TypeError: object of type 'int' has no len()

`

sanjay900 commented 1 year ago

interesting, wonder why its treating it as a number now instead of a string, ill have a look later

sanjay900 commented 1 year ago

Just pushed a change, does it work?

dimxyp commented 1 year ago

yes, like a charm... thanks a lot!!!

but after all I got another issue Error authenticating with automation code.

I tried both RSC+ (master code) and A-link Remote pass code tried also legacy tcp enable but lost connection for RSC and alink w/ my panel. disable AES encryption also without luck

no more logs at HA! :( is there any flag to enable debug option for this action?

image

dimxyp commented 1 year ago

As I already mentioned my panel is AMAX 3000, it maybe have some differences with Solutions the bus communication protocol I know that is similar so I believe that we archive that!! (PLEASEEEEEE :), I hate RSC+ )

first of all I changed on my configuration min length to 4 since the AMAX allows 4 characters at line 430 if len(self.pincode) > 24 or len(self.pincode) < 4:

also I noticed that you have an if condition and I append amax3000 paneltype like below line 419

   if self.panel_type == PanelType.Solution3000 or self.panel_type == PanelType.Solution2000 or self.panel_type == PanelType.AMAX3000: 

and now got

"Error authenticating with alink code, is it correct?"

my alink code is correct since I successfully logged in via alink

no luck until now... any more ideas related to amax config?

sanjay900 commented 1 year ago

Ah whoops i totally missed that Give this a go: https://github.com/mag1024/bosch-alarm-homeassistant This integration currently is specific to solutions panels as they use a different authentication method to most of the other panels. I plan to work on something more generic in the future, but I am waiting for some hardware to arrive before i look into that.