Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BE800 - An unknown response - Expecting value: line 1 column 1 (char 0); Request admin/firmware?form=upgrade - Response #114

Open
zhunhung opened this issue Nov 7, 2024 · 15 comments

Comments

@zhunhung
Copy link

zhunhung commented Nov 7, 2024

Describe the bug
A clear and concise description of what the bug is.

After logging in via HomeAssistant UI, I get this error immediately.

Logs
Add also all relevant logs from Settings->System->Logs.

Screenshot 2024-11-07 at 6 06 46 PM
Screenshot 2024-11-07 at 6 06 59 PM

Additional Information (please complete the following information)

  • Router Hardware Version:
    Hardware Version:
    Archer BE800 v1.0
  • Router Firmware Version:
    Firmware Version:
    1.1.6 Build 20240808 rel.26673(5347)
  • Home Assistant Version:
    Core
    2024.10.3
    Supervisor
    2024.11.2
    Operating System
    13.2
    Frontend
    20241002.3
  • TP-Link Router Integration Component Version: 2.0.0
@AlexandrErohin
Copy link
Owner

Could you post the full error here?

@zhunhung
Copy link
Author

zhunhung commented Nov 7, 2024

2024-11-07 18:06:27.661 ERROR (SyncWorker_3) [custom_components.tplink_router] TplinkRouter - TPLinkDecoClient - Unknown error for pwd! Error - 'result'; Response - {"success":true,"data":{"password":["<full password>","010001"],"mode":"router","username":""}}
2024-11-07 18:06:28.443 ERROR (SyncWorker_5) [custom_components.tplink_router] TplinkRouter - TplinkRouter - An unknown response - Expecting value: line 1 column 1 (char 0); Request admin/firmware?form=upgrade - Response 
2024-11-07 18:06:28.447 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry http://192.168.0.1 for tplink_router
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, 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 316, in get_firmware
    data = self.request(self._url_firmware, 'operation=read')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tplinkrouterc6u/client.py", line 112, in request
    raise ClientError(error)
tplinkrouterc6u.exception.ClientError: TplinkRouter - TplinkRouter - An unknown response - Expecting value: line 1 column 1 (char 0); Request admin/firmware?form=upgrade - Response 
2024-11-07 18:06:39.193 ERROR (MainThread) 

Here you go!

@AlexandrErohin
Copy link
Owner

Your router dosnt provide firmware info. It is strange as Archer BE800 v1.0 was tested OK here AlexandrErohin/TP-Link-Archer-C6U#34

@zhunhung
Copy link
Author

zhunhung commented Nov 7, 2024

Yup, thats why I'm not too sure what's wrong. It does provide the firmware info though, when I logged into the web UI of the router, the api call is successful.

Screenshot 2024-11-07 at 7 14 34 PM

When I try to use this package tplinkrouterc6u and run a separate python script, it returns {"data": ""} which is the same issue I raised.

@AlexandrErohin
Copy link
Owner

Do you have the latest Router Firmware Version ?
When you use tplinkrouterc6u could you call get_status() ? does it work?

@zhunhung
Copy link
Author

zhunhung commented Nov 7, 2024

Yup, it is the latest version. I cant call get_status() as well:

try:
    router.authorize()  # authorizing
    # Get status info - returns Status
    status = router.get_status()

Output:

http://tplinkwifi.net/cgi-bin/luci/;stok=<hash>/admin/status?form=all&operation=read 
...
tplinkrouterc6u.exception.ClientError: TplinkRouter - TplinkRouter - An unknown response - Expecting value: line 1 column 1 (char 0); Request admin/status?form=all&operation=read - Response 

Same issue if I were to use http://192.168.0.1 instead of http://tplinkwifi.net

@AlexandrErohin
Copy link
Owner

Do you use router local password or password from TP-LINK ID?

@zhunhung
Copy link
Author

zhunhung commented Nov 7, 2024

I used local password, I verified by using the password for this:
Screenshot 2024-11-07 at 7 40 10 PM

router = TplinkRouterProvider.get_client('http://192.168.0.1', <local password>')

If I input the wrong password, I will get this error:

Exception: Not authorised

@AlexandrErohin
Copy link
Owner

It is better to ask help @nicandris as he has this router and has tested this client for BE800

@nicandris
Copy link

nicandris commented Nov 7, 2024

I'm not using hassio, can you run this? https://gist.github.com/nicandris/c822b68f56c4efffff3eb53f37ab584d#file-be800-tplinkrouterc6u-py-L92

i just tried it and it can fetch the firmware just fine. (you dont really need to run the entire script, you can run router = TplinkRouterProvider.get_client(args.url, args.credentials) and then firmware = router.get_firmware()

be800

@zhunhung
Copy link
Author

zhunhung commented Nov 8, 2024

Thanks @nicandris!

router = TplinkRouterProvider.get_client(args.url, args.credentials) and then firmware = router.get_firmware()

Running get_firmware() gives the same error:

tplinkrouterc6u.exception.ClientError: TplinkRouter - TplinkRouter - An unknown response - Expecting value: line 1 column 1 (char 0); Request admin/firmware?form=upgrade - Response 

@thegeekybeng
Copy link

On that note, the same thing is happening for my Archer BE 805, it is a relief to know that likely is not an isolated issue.

@AlexandrErohin
Copy link
Owner

Do you have something that uses your password to login to the router constantly ? Like mobile APP

@zhunhung
Copy link
Author

Do you have something that uses your password to login to the router constantly ? Like mobile APP

I just tried to log out of the router in the Tether app and reload the integration. The same error persists :/

@kennethcyh
Copy link

Want to flag this as the same issue I'm also having, with the BE805:

Firmware Version:
1.0.12 Build 20240819 rel.66201(5347)
Hardware Version:
Archer BE805 v1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants