AlexandrErohin / home-assistant-tplink-router

Home Assistant component for TP-Link router administration with sensors, button reboot, switches and device tracking.
https://community.home-assistant.io/t/custom-component-tp-link-router-integration
MIT License
97 stars 8 forks source link

TplinkC1200Router' object has no attribute '_login_referer #42

Closed rkononov closed 6 months ago

rkononov commented 6 months ago

Describe the bug After the most recent update the router (Archer C1200) started failing with the following message "'TplinkC1200Router' object has no attribute '_login_referer'"

I tried to remove the integration and set this up again but keep getting the same message (listed above). The integration worked perfectly for a couple of months before. (router has the same firmware so nothing was changed that side)

Logs

Logger: custom_components.tplink_router.config_flow Source: custom_components/tplink_router/config_flow.py:48 integration: TP-Link Router (documentation, issues) First occurred: 10:58:54 PM (5 occurrences) Last logged: 11:03:59 PM

TplinkRouter Integration Exception - 'TplinkC1200Router' object has no attribute '_login_referer' Additional Information (please complete the following information)

AlexandrErohin commented 6 months ago

Hi. It was a large client update to support Deco Mesh routers. I have fixed the bag. Please try v1.11.1 and let me know

rkononov commented 6 months ago

Hey @AlexandrErohin thank you for your prompt response, seems like still broken but in a different manner, here are the logs:

Logger: homeassistant.config_entries Source: config_entries.py:504 First occurred: 7:56:35 PM (1 occurrences) Last logged: 7:56:35 PM

Error setting up entry http://192.168.1.1 for tplink_router
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tplink_router/__init__.py", line 47, in async_setup_entry
    firmware, status = await hass.async_add_executor_job(TPLinkRouterCoordinator.request, client, callback)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tplink_router/coordinator.py", line 56, in request
    data = callback()
           ^^^^^^^^^^
  File "/config/custom_components/tplink_router/__init__.py", line 42, in callback
    firm = client.get_firmware()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tplinkrouterc6u/client.py", line 295, in get_firmware
    data = self.request(self._url_firmware, 'operation=read')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tplinkrouterc6u/client.py", line 109, in request
    raise ClientError(error)
tplinkrouterc6u.exception.ClientError: TplinkRouter - TplinkC1200Router - An unknown response - Router didn't respond with JSON; Request admin/firmware?form=upgrade&operation=read - Response {'errorcode': 'no such callback', 'success': False}
AlexandrErohin commented 6 months ago

That's better. I have made a fix. Please try v1.11.3 and let me know

P.S. Unfortunately, I dont have this router so I cannot test by my own :(

rkononov commented 6 months ago

@AlexandrErohin thank you so much, the issue was fixed!

AlexandrErohin commented 6 months ago

@rkononov Dont forget please to give a star to the repo :)