NorDroN / homebridge-wideq

MIT License
12 stars 5 forks source link

UnhandledPromiseRejectionWarning - ssl_choose_client_version:unsupported protocol #21

Open Mike92115 opened 4 years ago

Mike92115 commented 4 years ago

Hi,

I tried to use the plugin for my Refrigerator and am getting this error below, my Homebridge instance is running in a Docker Container on a Synology NAS. The NAS does not have an SSL cert.

Any help on this would be great.

Thank you, Mike

(node:24043) UnhandledPromiseRejectionWarning: Error: write EPROTO 140579188436296:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1942:

at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16)

(node:24043) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) (node:24043) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

town3r commented 4 years ago

You can try the following:

sudo nano /etc/ssl/openssl.cnf change MinProtocol from TLSv1.2 to TLSv1.0

Also found that it's related to node v12 not allowing the lower TLS version.

Mike92115 commented 4 years ago

@town3r Thank you, I tried that and did not find the MinProtocol in the file so I added it and that did not make any difference. Received the below still.

(node:27034) UnhandledPromiseRejectionWarning: Error: write EPROTO 139698885975368:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1942:

at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16)

(node:27034) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) (node:27034) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

cknowles commented 4 years ago

If it's any help, node has a flag for min TLS version:

node --tls-min-v1.0 /YOUR_PATH/wideq -c GB

I found this fixed the node v12 issues which give the same error as OP.

Mike92115 commented 4 years ago

Thanks, but I am not running Node Red.

If it's any help, node has a flag for min TLS version:

node --tls-min-v1.0 /YOUR_PATH/wideq -c GB

I found this fixed the node v12 issues which give the same error as OP.

town3r commented 4 years ago

How much of "/YOUR_PATH/" is required? "/home/pi/wideq/wideq" I've tried it a couple of ways but get Error cannot find module (Path to wideq here)

town3r commented 4 years ago

image

Mike92115 commented 4 years ago

town3r,

I just enter the below, following along in the read me and it runs for me

wideq auth -c US -l en-US

How much of "/YOUR_PATH/" is required? "/home/pi/wideq/wideq" I've tried it a couple of ways but get Error cannot find module (Path to wideq here)

This is a different issue then I am having, and you would do better to open up a new thread rather then post it here as it does not apply to this thread.

cknowles commented 4 years ago

@Mike92115 I am not using Node Red either, I’m on synology also. The command is just node.js so the same adjustment would need to be made to the command executed in the Docker container configuration (I haven’t tested this bit yet).

@town3r my example is an absolute path to the main JavaScript file. which wideq may help you locate it. I think relative paths are accepted too. Just to make sure, it has to be the JavaScript wideq as well not the Python version.

Mike92115 commented 4 years ago

c-knowles,

Thank you, for clearing that up for me. I am fairly new to this and was not understanding. I tried it with both a relative and absolute path just to make sure after it failed with the relative path and am still getting the SSL error below.

/homebridge # node --tls-min-v1.0 ./node_modules/wideq -c GB /homebridge # wideq auth -c US -l en-US Log in here: https://us.m.lgaccount.com/login/sign_in?country=US&language=en-US&svcCode=SVC202&authSvr=oauth2&client_id=LGAO221A02&division=ha&grant_type=password Then paste the URL where the browser is redirected: https://us.m.lgaccount.com/login/iabClose?access_token=79cba8fdd17634be8cea0020f2f57005957d4a3832d641d775581f0c561ba47fe9ce47aad2ef02ba194bb2019ad4e43a&refresh_token=7d4a09d5e5a6f4f2807fb34fef6e0e82e525643337c19fc9c97aecbd394dde41f6884f2ee8a883764409ba3f3c052196&oauth2_backend_url=https://us.lgeapi.com/ (node:1245) UnhandledPromiseRejectionWarning: Error: write EPROTO 140115636637000:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1942:

at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16)

(node:1245) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) (node:1245) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. /homebridge #