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

Failed to detect encryption #61

Open
Eikkargh opened this issue Feb 14, 2022 · 22 comments
Open

Failed to detect encryption #61

Eikkargh opened this issue Feb 14, 2022 · 22 comments

Comments

@Eikkargh
Copy link

Getting Failed to detect encryption after entering IP in config flow.

Traceback (most recent call last):
  File "/config/custom_components/candy/client/__init__.py", line 62, in detect_encryption
    assert resp_json.get("response") != "BAD REQUEST"
AssertionError

I have obtained the key and can manually get JSON data in HASS terminal with:

curl -s http://192.168.1.24/http-read.json?encrypted=1 | xxd -r -p > ./coded.txt
./xorknown.py ./coded.txt --key=naedcjmhjdbgcejk > ./decoded.txt
tail -c +59 ./decoded.txt > ./candy.json

JSON values are:

{
        "statusLavatrice":{
                "WiFiStatus":"0",
                "Err":"255",
                "MachMd":"1",
                "Pr":"4",
                "PrPh":"0",
                "SLevel":"255",
                "Temp":"60",
                "SpinSp":"10",
                "Opt1":"0",
                "Opt2":"0",
                "Opt3":"0",
                "Opt4":"0",
                "Opt5":"0",
                "Opt6":"0",
                "Opt7":"0",
                "Opt8":"0",
                "Steam":"0",
                "DryT":"0",
                "DelVal":"255",
                "RemTime":"59",
                "RecipeId":"0",
                "CheckUpState":"0"
        }
}

Apologies if I have missed something obvious. Im pretty new to all this.

@ofalvai
Copy link
Owner

ofalvai commented Feb 16, 2022

I'm not sure what is going on here, the error means that the device responded with a simple BAD REQUEST message for some reason.

We are investigating something similar in #53, and one idea is that we need to add an artificial sleep between the API calls. If you have some spare time, you can try running the code in this PR that adds an extra delay. Maybe this solves your problem too.

@gee-jay-bee
Copy link

I am seeing similar symptoms but maybe not the same cause.

Not long after getting the new washing machine (last week), I tried using the CandySimplyFi-tool to successfully get the key and was able to use that key to read the json payload (properly). It worked for days.

At the weekend, I tried to set up this integration but it failed with similar symptoms to this issue. Then, when I tried the tool again, it also failed.

Tonight, I tried using curl directly and found that calling:

curl -s http://<ip>/http-read.json?encrypted=0 always returns {"response":"BAD REQUEST"}.

However, calling:

curl -s http://<ip>/http-read.json?encrypted=1 | xxd -r -p

returns

{
        "statusLavatrice":{
                "WiFiStatus":"0",
                "Err":"255",
                "MachMd":"2",
                "Pr":"13",
                "PrPh":"5",
                "SLevel":"255",
                "Temp":"0",
                "SpinSp":"0",
                "Opt1":"0",
                "Opt2":"0",
                "Opt3":"0",
                "Opt4":"0",
                "Opt5":"0",
                "Opt6":"0",
                "Opt7":"0",
                "Opt8":"0",
                "Steam":"0",
                "DryT":"0",
                "DelVal":"255",
                "RemTime":"10",
                "RecipeId":"0",
                "CheckUpState":"0"
        }

Thus, asking for encrypted doesn't return encrypted but asking for no encryption returns an error!

I guess that some kind of firmware update happened after it had been connected to the WIFI for a little while and the behaviour changed as a result?

@gee-jay-bee
Copy link

Ah, I see that the code already tries to handle this encrypted / not encrypted scenario. I tried commenting out everything in the first try block to make it skip the encrypted=0 case and I was able to add the integration but the sensor doesn't work. I then used the 5s sleep from the PR you linked (restoring the first try block) and it resulted in the same thing (integration was added, sensor fails to update). The logs in both cases are the same:

2022-02-16 20:16:09 INFO (MainThread) [custom_components.candy.client] Backing off status_with_retry(...) for 0.1s (aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected)
2022-02-16 20:16:11 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 21.611 seconds (success: False)
2022-02-16 20:16:19 INFO (MainThread) [custom_components.candy.client] Backing off status_with_retry(...) for 0.7s (aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 192.168.18.154:80 ssl:default [Connect call failed ('192.168.18.154', 80)])
2022-02-16 20:16:27 INFO (MainThread) [custom_components.candy.client] Backing off status_with_retry(...) for 0.3s (aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected)
2022-02-16 20:16:29 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 13.145 seconds (success: False)
2022-02-16 20:16:41 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.615 seconds (success: False)
2022-02-16 20:17:02 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.547 seconds (success: False)
2022-02-16 20:17:44 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.552 seconds (success: False)
2022-02-16 20:19:05 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.546 seconds (success: False)
2022-02-16 20:20:27 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.705 seconds (success: False)
2022-02-16 20:21:49 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.560 seconds (success: False)
2022-02-16 20:23:10 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.545 seconds (success: False)
2022-02-16 20:24:32 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.549 seconds (success: False)
2022-02-16 20:25:53 DEBUG (MainThread) [custom_components.candy] Finished fetching candy data in 1.581 seconds (success: False)

FWIW, I can rapidly and repeatedly curl the JSON status and there is no error.

@Eikkargh
Copy link
Author

I am not sure how you go about testing a PR in HASS. Tried dumping the changed init.py into custom components but doesnt seem to like changes like that.
The delay issue is something I came across this morning when i threw together a python script to dump the data into a json file. A few runs in I got a BAD REQUEST response.
Except requests.exceptions.RequestException
reported too many API requests. Sticking a delay in seemed to resolve this.

@gee-jay-bee
Copy link

I think I fixed the problem with handling encrypted=1 but no key. The status() method assumed that key="" means not encrypted so I changed it to match the detect_encryption() logic where there is slightly different processing for encrypted with and without key as follows:


    async def status(self) -> Union[WashingMachineStatus, TumbleDryerStatus, DishwasherStatus, OvenStatus]:
        url = _status_url(self.device_ip, self.use_encryption)
        async with self.session.get(url) as resp:
            if self.use_encryption:
                resp_hex = await resp.text()  # Response is hex encoded encrypted data
                if self.encryption_key != "":
                    decrypted_text = decrypt(self.encryption_key.encode(), bytes.fromhex(resp_hex))
                else:
                    decrypted_text = bytes.fromhex(resp_hex)
                resp_json = json.loads(decrypted_text)
            else:
                resp_json = await resp.json(content_type="text/html")

            _LOGGER.debug(resp_json)

            if "statusTD" in resp_json:
                status = TumbleDryerStatus.from_json(resp_json["statusTD"])
            elif "statusLavatrice" in resp_json:
                status = WashingMachineStatus.from_json(resp_json["statusLavatrice"])
            elif "statusForno" in resp_json:
                status = OvenStatus.from_json(resp_json["statusForno"])
            elif "statusDWash" in resp_json:
                status = DishwasherStatus.from_json(resp_json["statusDWash"])
            else:
                raise Exception("Unable to detect machine type from API response", resp_json)

            return status

I now have the sensors working in HA (though I note that the time remaining sensor is converting the input in minutes to hours but reporting it as minutes).

FWIW, I wonder whether there should be an explicit call to resp.close() before the assert for BAD_REQUEST in detect_encryption(). I hacked together some python that repeatedly called the API in a loop and it worked without issue so it doesn't seem like timing ought to make a difference (though it does!). As the context manager is only releasing the connection, I just wondered whether release is not enough here (given that the washing machine itself always wants the connection closed after every request, the session is not really adding much value?).

@ofalvai
Copy link
Owner

ofalvai commented Feb 28, 2022

Thank you @gee-jay-bee for the very detailed investigation, that was indeed a bug in the status() call. I fixed it and merged into main, can you guys give it a try? You can install the main branch in HACS by selecting Redownload in the HACS menu, then selecting main in the version dropdown.

image

The main branch doesn't have any sleep commands between the API calls yet, I'm hoping that this other fix is going to solve at least some of the problems.

@Eikkargh
Copy link
Author

Eikkargh commented Feb 28, 2022

This did not resolve my issue. Updated HACS, HASS and Redownloaded your Candy integration, then a restart. After entering IP address in flow im still getting "Failed to detect encryption, check logs"

Logger: custom_components.candy.config_flow
Source: custom_components/candy/client/__init__.py:69
Integration: Candy ([documentation](https://github.com/ofalvai/home-assistant-candy), [issues](https://github.com/ofalvai/home-assistant-candy/issues))
First occurred: 19:45:50 (2 occurrences)
Last logged: 19:46:20

Server disconnected
Traceback (most recent call last):
  File "/config/custom_components/candy/client/__init__.py", line 62, in detect_encryption
    assert resp_json.get("response") != "BAD REQUEST"
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/candy/config_flow.py", line 45, in async_step_user
    encryption_type, key = await detect_encryption(
  File "/config/custom_components/candy/client/__init__.py", line 69, in detect_encryption
    async with session.get(url) as resp:
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 559, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 898, in start
    message, payload = await protocol.read()  # type: ignore[union-attr]
  File "/usr/local/lib/python3.9/site-packages/aiohttp/streams.py", line 616, in read
    await self._waiter
aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected

I can get the same output that curl | xxd gives before running it through xorknown.py in python using:

candyhex = requests.get(http://192.168.1.24/http-read.json?encrypted=1, timeout=10).text
bytes_object = bytes.fromhex(candyhex)
coded = bytes_object.decode("ASCII")

If I am reading your code correctly at this point in detect_encryption it tries connection without encryption and gets a bad response (line 62) but then fails the next get request with encryption after the except (line 69). I am very much a beginner and why this is happening I do not know.

@edwardd06
Copy link

edwardd06 commented Mar 10, 2022

I have had to downgrade to Version 0.6.2 to enter the Encryption key to get this to work, the latest version gives an error message before asking so will wait for this to be fixed in V 0.8 or so.

The only issue is that it thinks that there is 10 minutes remaining when washing has finished so should show 0,

had to take the /60 (divide 60) out of the /config/custom_components/candy/client/model.py to stop it measuring in hours not minutes.
image

image

@Gferretta
Copy link

Hi everyone

I have a Candy clothes washer model GVFWFL4139WHR-12.

I have downloaded the Candy SimplyFi addon from HACS, but when I want to add the integration, I receive the following error: "Failed to detect encryption".
Candy 1

I have the correct IP, it responds well to the sentence:
http://IP/http-read.json?encrypted=1
candy 4

With encrypted=0 I receive as response
{"response":"BAD REQUEST"}

Trying to decode the response received with "encryption=1" on the website https://www.online-python.com/pm93n5Sqg4 I get no response.
Candy 2

The integration never asks me for the KEY in v0.7.0
Using v0.6.2 ask me for KEY but also with error message.

Now I do in master version also with error.
Thank you very much

http://192.x.y.z/http-read.json?encrypted=1

116F626D4E18190A101412290D100F11180B0B014E5116666E6868473B0F280C3916091019184F5146504349616C676C48271A164E514F5951544349616C676C482F0907042609495E435347406B646C634038164E514F5A56434D68666F67473A10380C4E514F5D464D6C6F656F4C3626071E010049574956545447406B646C63403C01011B4F51465354504E4A636F636B4A371C02033814435B475E535B47466F626D6549221B1050435F4E564C496768616D4E241D1F56435B475C444268606B6146231B1958465B43554E4A636F636B4A2B1C1F59495E435147406B646C63402714185E4F5146514349616C676C482D18105A49574954434D68666F674725121C534E514F5B464D6C6F656F4C2A1A16504656495D49486C6B6C65443D110F03054656495D49486C6B6C65442A1713364A5E4E5F4F47696B686C4E220B093C03044656495F5E51434D68666F674738070530050608495E435047406B646C63403A010F021D0E2D05435F4E564C496768616D4E28050E070A34153F120F110F4052465C4960616D1C6C6F11

@asiersan
Copy link
Contributor

asiersan commented Sep 16, 2022

Same problem here , i tried with 0.7,main and 0.62 and same problem:

`Logger: custom_components.candy.config_flow
Source: custom_components/candy/client/init.py:69
Integration: candy (documentation, issues)
First occurred: 23:10:56 (2 occurrences)
Last logged: 23:11:33

Server disconnected
Traceback (most recent call last):
File "/config/custom_components/candy/client/init.py", line 62, in detect_encryption
assert resp_json.get("response") != "BAD REQUEST"
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/config/custom_components/candy/config_flow.py", line 45, in async_step_user
encryption_type, key = await detect_encryption(
File "/config/custom_components/candy/client/init.py", line 69, in detect_encryption
async with session.get(url) as resp:
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 559, in _request
await resp.start(conn)
File "/usr/local/lib/python3.10/site-packages/aiohttp/client_reqrep.py", line 898, in start
message, payload = await protocol.read() # type: ignore[union-attr]
File "/usr/local/lib/python3.10/site-packages/aiohttp/streams.py", line 616, in read
await self._waiter
aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected
`
And read json encrypted is responding:

115A7D6C64250C12163F182A56343545183E1400646C037E68436244602B12583923161133255A49407B494A3A485D3848120517646C5A41577F494A3A485D38481A16062E1B1C5158685A441B4F5E3863752717646C5A425768476B3D4B5D133A25270D646C5A434066666C3E4B7662263201002A7442515068476B3D4B5D133E321A15646C5A4A5268476B3D4B5D1339271E0B15265A49407E494A3A485D3848180711777442515268476B3D4B5D1325270357646C5A434066666C3E4B767E1A2344477C7448514E47616F3E601B411E63555F64665A5F6F40626F150D24455F754D477674547E6843624478322007486D5555647A75796B43492947366313507547476A5B727A6B682416437A760B486755494B5C717A40191F03562F760B486755494B5C717A400E191F63606E135A755B684C5F7151262F0730562E760B48654250647A75796B434934522F00580732555F64674B424066666C3E4B76630F341E15231F1C5158685B441B4F5E386375340D2335132612191F074327760B486755684C5F057E6837

@asiersan
Copy link
Contributor

asiersan commented Sep 16, 2022

Same problem here , i tried with 0.7,main and 0.62 and same problem:

`Logger: custom_components.candy.config_flow Source: custom_components/candy/client/init.py:69 Integration: candy (documentation, issues) First occurred: 23:10:56 (2 occurrences) Last logged: 23:11:33

Server disconnected Traceback (most recent call last): File "/config/custom_components/candy/client/init.py", line 62, in detect_encryption assert resp_json.get("response") != "BAD REQUEST" AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/config/custom_components/candy/config_flow.py", line 45, in async_step_user encryption_type, key = await detect_encryption( File "/config/custom_components/candy/client/init.py", line 69, in detect_encryption async with session.get(url) as resp: File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 559, in _request await resp.start(conn) File "/usr/local/lib/python3.10/site-packages/aiohttp/client_reqrep.py", line 898, in start message, payload = await protocol.read() # type: ignore[union-attr] File "/usr/local/lib/python3.10/site-packages/aiohttp/streams.py", line 616, in read await self._waiter aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected ` And read json encrypted is responding:

115A7D6C64250C12163F182A56343545183E1400646C037E68436244602B12583923161133255A49407B494A3A485D3848120517646C5A41577F494A3A485D38481A16062E1B1C5158685A441B4F5E3863752717646C5A425768476B3D4B5D133A25270D646C5A434066666C3E4B7662263201002A7442515068476B3D4B5D133E321A15646C5A4A5268476B3D4B5D1339271E0B15265A49407E494A3A485D3848180711777442515268476B3D4B5D1325270357646C5A434066666C3E4B767E1A2344477C7448514E47616F3E601B411E63555F64665A5F6F40626F150D24455F754D477674547E6843624478322007486D5555647A75796B43492947366313507547476A5B727A6B682416437A760B486755494B5C717A40191F03562F760B486755494B5C717A400E191F63606E135A755B684C5F7151262F0730562E760B48654250647A75796B434934522F00580732555F64674B424066666C3E4B76630F341E15231F1C5158685B441B4F5E386375340D2335132612191F074327760B486755684C5F057E6837

Solved with #54

@Gferretta
Copy link

Gferretta commented Sep 25, 2022

Hi everyone

I have a Candy clothes washer model GVFWFL4139WHR-12.

I have downloaded the Candy SimplyFi addon from HACS, but when I want to add the integration, I receive the following error: "Failed to detect encryption". Candy 1

I have the correct IP, it responds well to the sentence: http://IP/http-read.json?encrypted=1 candy 4

With encrypted=0 I receive as response {"response":"BAD REQUEST"}

Trying to decode the response received with "encryption=1" on the website https://www.online-python.com/pm93n5Sqg4 I get no response. Candy 2

The integration never asks me for the KEY in v0.7.0 Using v0.6.2 ask me for KEY but also with error message.

Now I do in master version also with error. Thank you very much

http://192.x.y.z/http-read.json?encrypted=1

116F626D4E18190A101412290D100F11180B0B014E5116666E6868473B0F280C3916091019184F5146504349616C676C48271A164E514F5951544349616C676C482F0907042609495E435347406B646C634038164E514F5A56434D68666F67473A10380C4E514F5D464D6C6F656F4C3626071E010049574956545447406B646C63403C01011B4F51465354504E4A636F636B4A371C02033814435B475E535B47466F626D6549221B1050435F4E564C496768616D4E241D1F56435B475C444268606B6146231B1958465B43554E4A636F636B4A2B1C1F59495E435147406B646C63402714185E4F5146514349616C676C482D18105A49574954434D68666F674725121C534E514F5B464D6C6F656F4C2A1A16504656495D49486C6B6C65443D110F03054656495D49486C6B6C65442A1713364A5E4E5F4F47696B686C4E220B093C03044656495F5E51434D68666F674738070530050608495E435047406B646C63403A010F021D0E2D05435F4E564C496768616D4E28050E070A34153F120F110F4052465C4960616D1C6C6F11

Hi
I dont resolve this issue

What I see is that every time I run the code http://IP/http-read.json?encrypted=1 the response changes.
I don't know if it depends on the program that the washing machine is running.

I couldn't get the CandySimplyFi-tool to work either the python site to obtain the key.

Candy Response 2

@Tassel8062
Copy link

Try with the latest update, it fixed a similar issue for me

@Gferretta
Copy link

Try with the latest update, it fixed a similar issue for me

Hi

With last version I' had the same error that in #61 (comment)

@asiersan
Copy link
Contributor

asiersan commented Nov 9, 2022

Same here, with previo ya versión, chamging manifest.json line 8, the problem was solved.
Now i updated yo this versión and problem returns. With:

Reintentando la configuración: Error communicating with API: TimeoutError()

@ofalvai
Copy link
Owner

ofalvai commented Nov 14, 2022

Hello everyone 👋

I released version 0.8.0 that contains API rate-limiting, which is the long-term fix for those who had to add the sleep(5) calls and it solved their connection issues. Rate limiting won't solve everyone's connection problems, but give the latest version a try if you are using a modified version of the integration with extra sleep() commands.

The rate limiter is set up to only allow 1 request every 3 seconds, I think this will be a good start. If you want to tweak the value, you can find it here:

_LIMITER = AsyncLimiter(max_rate=1, time_period=3)

@dennisnn87
Copy link

Hi
I just bought a Hoover HWP610AMBC1-S but running ./simplyfi 192.168.1.30 getkey just returns:

Candy Simply-Fi tool by Melvin Groenendaal

error: connect
error: get_candySimplify_data, could not get data from server

If I try to add it to HA, I get the Failed to detect encryption, check logs

The machine works fine with the hOn app.

@ofalvai
Copy link
Owner

ofalvai commented Nov 30, 2022

@dennisnn87 if even the CLI tool can't connect to your appliance then I don't think your problem is related to this integration.

@dennisnn87
Copy link

dennisnn87 commented Nov 30, 2022 via email

@SirLouen
Copy link

Any ideas what the problem could be?Best regards l Med venlig hilsenDennis Nygaard NielsenDen 30. nov. 2022 kl. 08.32 skrev Olivér Falvai @.>: @dennisnn87 if even the CLI tool can't connect to your appliance then I don't think your problem is related to this integration. —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.>

I have a Candy washing machine and when I put it on "Wifi" mode, it lasts for 5 or 10 minutes before it goes standby. So you have to be quick configuring everything, otherwise, Home Assistant will not recognize it.

Anyway this Washing machine automation is very weird. One the bright side, it's using an ESP device, so maybe it can be Tasmotized!

@Eikkargh
Copy link
Author

@SirLouen I find I get more reliable responses from the machines API when a manually set program is running. Not sure why this is. In Wifi mode it can take me a few requests to get a response with curl.

It has been a year though and I still have not got this integration working. This update fails differently to all previous versions. After entering IP in the dialogue flow it just hangs. No responses and no errors. This locked up all of Home Assistant even after closing the box and restarting home assistant. I had to reboot to clear it. No errors showing in logs.

I still use the python script that I wrote to test responses a year ago. A few modifications and I can call it with a command line sensor and that works fine. Not as robust as the integration but does the job for me. I tried comparing what my script does differently but nothing obvious jumps out. The code is here if anybody want to have a go at it.

@AlexRux
Copy link

AlexRux commented Dec 14, 2023

Logger: custom_components.candy.config_flow
Source: custom_components/candy/config_flow.py:45
Integration: Candy (documentation, issues)
First occurred: 12:32:29 (3 occurrences)
Last logged: 12:45:23

Cannot connect to host 192.168.1.28:80 ssl:default [Connect call failed ('192.168.1.28', 80)]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 992, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1085, in create_connection
raise exceptions[0]
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1069, in create_connection
sock = await self._connect_sock(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 973, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 628, in sock_connect
return await fut
^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 668, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('192.168.1.28', 80)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/config/custom_components/candy/config_flow.py", line 45, in async_step_user
encryption_type, key = await detect_encryption(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/candy/client/init.py", line 81, in detect_encryption
async with _LIMITER, session.get(url) as resp:
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 574, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 544, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 911, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1235, in _create_direct_connection
raise last_exc
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1204, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1000, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 192.168.1.28:80 ssl:default [Connect call failed ('192.168.1.28', 80)]

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

10 participants