AMoo-Miki / homebridge-tuya-lan

Homebridge plugin for IoT devices that use Tuya Smart's platform
MIT License
206 stars 52 forks source link

TuyaAccessory constantly having socket errors, ECONNRESET bringing Homebridge to a grinding halt (Related to #233) #236

Open smithad150 opened 3 years ago

smithad150 commented 3 years ago

Had posted issue #233 previously, and closed it as I thought it was fixed by a Node.js update.

Turns out it is not. It was stable for a day, but had returned.

There is still repetitive errors such as this: "[TuyaAccessory] Socket had a problem and will reconnect to ShedBulb (ECONNRESET) [TuyaAccessory] Socket had a problem and will reconnect to ShedBulb (Error: ERR_CONNECTION_TIMED_OUT)"

This happens for every device using this plugin, and ends up freezing Homebridge.

I viewed debug logs, and now have this output whichj appears to be from the Ring Alarm plugin: "(node:413) UnhandledPromiseRejectionWarning: Error: getaddrinfo EAI_AGAIN app.ring.com at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26) (node:413) 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: 118) (node:413) UnhandledPromiseRejectionWarning: Error: The onCancel handler was attached after the promise settled. at onCancel (/homebridge/node_modules/homebridge-ring/node_modules/p-cancelable/index.js:48:12) at makeRequest (/homebridge/node_modules/homebridge-ring/node_modules/got/dist/source/as-promise/index.js:38:13) at Request. (/homebridge/node_modules/homebridge-ring/node_modules/got/dist/source/as-promise/index.js:143:17) at Object.onceWrapper (events.js:422:26) at Request.emit (events.js:315:20) at Timeout.retry (/homebridge/node_modules/homebridge-ring/node_modules/got/dist/source/core/index.js:1264:30) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) (node:413) 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: 119)"

I am really not sure what is happening. Any help is appreciated. TIA.

smithad150 commented 3 years ago

Update: My Homebridge has become completely unstable. The UI freezes so much (ERR_CONNECTION_REFUSED) that I cannot even modify the config or enter terminal commands adequately. Home app either says it cannot update devices, or it shows devices but commands to turn on/off don't work.

smithad150 commented 3 years ago

Update 2: I setup a Virtual Box VM with the same config, and it has been working well. I added all the Tuya devices one by one, with no issue. Then added my Ring alarm, again without issue. Since these both worked, I added my IP Cameras, which again went without issue. This just serves to further confuse me, other than I suppose there is something with how I have Hyper-V setup that is causing the failure.