Open brent7320 opened 3 years ago
Try the 0.1.1 version I just published. Start with homebridge -D
and see if there are any logs
I have installed the plugin in homebridge and supplied valid credentials, no accessories ever appear. Are there any additional instructions we should be following? I have restarted Homebridge multiple times, nothing ever appears. This is a Battery 2K Doorbell.
Plugin version - 0.0.3 Homebridge - v1.2.3 NPM - 6.14.7
12/1/2020, 8:17:03 PM] [EufySecurityHomebridgePlugin] credentials found. reusing them...
I'm having the same issue too.
Edit: I removed the log due to security reasons.
I've updated to 0.1.1 and I'm still having this exact issue, including the part where the only thing the log says is [EufySecurityHomebridgePlugin] credentials found. reusing them...
I have the original 2K Battery doorbell (the one that connects to the Home Base 2).
Hi!
I have used a previous version of the plug-in with the exact same Doorbell. It worked after installing twice.
I've uninstalled and reinstalled so many times. I've installed while it's already installed. I've tried from the terminal and from the HomeBridge UI. I've restarted the server repeatedly. Set up a new guest account for the doorbell, turned off 2FA, nothing.
I'm running HomeBridge on a Synology NAS through Docker, if that makes a difference.
I'm having the same issue too. I'm sending you a zip of the home bridge.log file
You might want to take this attachment down and change your eufy password ASAP as it was in the above log file.
I ran homebridge in debug mode and below is the only additional information displayed in the logs.
[12/2/2020, 4:35:38 AM] [EufySecurityHomebridgePlugin] Initializing EufySecurityHomebridgePlugin platform... [12/2/2020, 4:35:38 AM] [EufySecurityHomebridgePlugin] Config { username: 'xxx@xxx.com', password: 'xxxxx', platform: 'EufySecurityHomebridgePlugin' } [12/2/2020, 4:35:38 AM] [EufySecurityHomebridgePlugin] Finished initializing platform: undefined
I'm having this exact same issue. I spent some time debugging with log files and this like seems to be where it bails:
https://github.com/birkir/homebridge-plugin-eufy-security/blob/master/src/platform.ts#L82
I cannot get passed that. I do currently have 2FA turned off for testing. I have a wired doorbell, but I don't think it matters in this case.
I'm having this exact same issue. I spent some time debugging with log files and this like seems to be where it bails:
https://github.com/birkir/homebridge-plugin-eufy-security/blob/master/src/platform.ts#L82
I cannot get passed that. I do currently have 2FA turned off for testing. I have a wired doorbell, but I don't think it matters in this case.
I initially had 2FA turned on as well, but disabled for testing. Not sure if that has something to do with it not working or not.
Same! I had 2FA on at first, and it won't work for me. Even rolling back my config file and completely setting up the plug-in from scratch, it still says it found existing credentials and is reusing them. I think this is the problem.
I got same issue. Got the wired door bell. Installed version 0.1.1 of plugin. installing twice did not help.
Startup logs says:
2.12.2020, 15:47:47 (node:9291) UnhandledPromiseRejectionWarning: Error: Request failed: https://security-app-eu.eufylife.com/v1/passport/login -> 26052 - need validate code
2.12.2020, 15:47:47 at /home/hoobs/.hoobs/node_modules/eufy-node-client/build/http/http.utils.js:24:15
2.12.2020, 15:47:47 at Generator.next (--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
2.12.2020, 15:47:47 (node:9291) [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.
I actually tried deleting the "eufy-security-credentials.json" file and running again. It found the new credentials in this case, but still nothing showing in Home.
@raphb83 do you have 2 Factor Auth (2FA) enabled? I believe I saw the same behavior when I did. Currently 2FA isn't supported.
@DaveM8686 same here. I had hoped it was bad credentials due to the 2FA issue, but it didn't help.
@raphb83 do you have 2 Factor Auth (2FA) enabled? I believe I saw the same behavior when I did. Currently 2FA isn't supported.
I'm having the same issue but without 2FA...
With some more debugging and patience (takes 5+ minutes) I finally got an error out of: https://github.com/birkir/homebridge-plugin-eufy-security/blob/master/src/platform.ts#L82
{ RequestError: read ECONNRESET
at ClientRequest.request.once (/homebridge/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/core/index.js:953:111)
at Object.onceWrapper (events.js:286:20)
at ClientRequest.emit (events.js:203:15)
at ClientRequest.origin.emit.args (/homebridge/node_modules/homebridge-plugin-eufy-security/node_modules/@szmarczak/http-timer/dist/source/index.js:39:20)
at TLSSocket.socketErrorListener (_http_client.js:401:9)
at TLSSocket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27)
name: 'RequestError',
code: 'ECONNRESET',
timings:
{ start: 1606905673656,
socket: 1606905673656,
lookup: 1606905673674,
connect: 1606905673762,
secureConnect: 1606905675424,
upload: 1606905673657,
response: undefined,
end: undefined,
error: 1606905675794,
abort: undefined,
phases:
{ wait: 0,
dns: 18,
tcp: 88,
tls: 1662,
request: NaN,
firstByte: undefined,
download: undefined,
total: 2138 } } }
This is a pretty opaque error in that it just means that the Eufy server abruptly closed the connection (probably due to a timeout after 5m!).
Because I catch that exception and return from the function, it then tries to find the devices, and results in this:
UnhandledPromiseRejectionWarning: RequestError: getaddrinfo EAI_AGAIN security-app.eufylife.com security-app.eufylife.com:443
at ClientRequest.request.once (/homebridge/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/core/index.js:953:111)
at Object.onceWrapper (events.js:286:20)
at ClientRequest.emit (events.js:203:15)
at ClientRequest.origin.emit.args (/homebridge/node_modules/homebridge-plugin-eufy-security/node_modules/@szmarczak/http-timer/dist/source/index.js:39:20)
at TLSSocket.socketErrorListener (_http_client.js:401:9)
at TLSSocket.emit (events.js:198:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
(node:6518) 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(). (rejection id: 1)
(node:6518) [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.
This is a DNS issue. So I figured out the IP for security-app.eufylife.com (it's a CNAME to AWS, which then resolves to multiple IPs, I picked the first one), and added it to my /etc/hosts
and now I get:
{ HTTPError: Response code 401 (Unauthorized)
at Request.request.once (/homebridge/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at process._tickCallback (internal/process/next_tick.js:68:7)
name: 'HTTPError',
code: undefined,
timings:
{ start: 1606957517771,
socket: 1606957517771,
lookup: 1606957517771,
connect: 1606957517880,
secureConnect: 1606957517984,
upload: 1606957517771,
response: 1606957518074,
end: 1606957518074,
error: undefined,
abort: undefined,
phases:
{ wait: 0,
dns: 0,
tcp: 109,
tls: 104,
request: NaN,
firstByte: 303,
download: 0,
total: 303 } } }`
and when trying to find devices:
UnhandledPromiseRejectionWarning: HTTPError: Response code 401 (Unauthorized)
at Request.request.once (/homebridge/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:7344) 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(). (rejection id: 1)
(node:7344) [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.
This might be caused by my docker-in-virtualbox-bridged-bridged networking, so I'd love to know if anyone else can confirm.
If you want to try yourself, edit node_modules/homebridge-plugin-security-eufy/dist/platform.js
in your Homebridge installation directory, and look for this line around line 65 (I've added multiple debug lines above, not sure how many):
await this.httpService.registerPushToken(fcmToken);
and replace with:
try {
await this.httpService.registerPushToken(fcmToken);
} catch (e) {
this.log.debug("EXCEPTION!");
this.log.debug(e);
return;
}
If you want to try yourself, edit
node_modules/homebridge-plugin-security-eufy/dist/platform.js
in your Homebridge installation directory, and look for this line around line 65 (I've added multiple debug lines above, not sure how many):await this.httpService.registerPushToken(fcmToken);
and replace with:
try { await this.httpService.registerPushToken(fcmToken); } catch (e) { this.log.debug("EXCEPTION!"); this.log.debug(e); return; }
I was able to find my cached credential .Json file and I deleted it. After doing that and putting in the log statements you stated above, i was able to duplicate what you are seeing. I am not running this in docker though, this is homebridge running on an Ubuntu VM.
[12/3/2020, 2:39:03 AM] [EufySecurityHomebridgePlugin] EXCEPTION!
[12/3/2020, 2:39:03 AM] [EufySecurityHomebridgePlugin] { HTTPError: Response code 401 (Unauthorized)
at Request.request.once (/usr/lib/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at process._tickCallback (internal/process/next_tick.js:68:7)
name: 'HTTPError',
code: undefined,
timings:
{ start: 1606984743636,
socket: 1606984743636,
lookup: 1606984743664,
connect: 1606984743703,
secureConnect: 1606984743748,
upload: 1606984743636,
response: 1606984743794,
end: 1606984743794,
error: undefined,
abort: undefined,
phases:
{ wait: 0,
dns: 28,
tcp: 39,
tls: 45,
request: NaN,
firstByte: 158,
download: 0,
total: 158 } } }
[12/3/2020, 2:39:03 AM] [EufySecurityHomebridgePlugin] Executed didFinishLaunching callback
(node:670387) UnhandledPromiseRejectionWarning: HTTPError: Response code 401 (Unauthorized)
at Request.request.once (/usr/lib/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:670387) 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(). (rejection id: 1)
(node:670387) [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.
@raphb83 do you have 2 Factor Auth (2FA) enabled? I believe I saw the same behavior when I did. Currently 2FA isn't supported.
As far as i know i do not have 2FA enabled. Sorry about the question: where do i have to look if it is enabled?š¬
I am having the same issue. I dont have 2FA enabled. after putting in my credentials and plug in nothing appears in accessories
Also having this issue. On 0.1.1, just got my battery doorbell cam, no 2FA, but nothing shows up in Home.
Getting this error when attempting to use the plugin
I deleted my eufy-security-credentials.json
file as I had changed my password after turning off 2FA and I'm now getting this:
12/4/2020, 10:42:26] [EufySecurityHomebridgePlugin] credentials found. reusing them...
(node:31054) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 shutdown listeners added to [HomebridgeAPI]. Use emitter.setMaxListeners() to increase limit
and this
[12/4/2020, 10:37:59] [EufySecurityHomebridgePlugin] wait a short time (5sec)...
(node:30864) UnhandledPromiseRejectionWarning: HTTPError: Response code 401 (Unauthorized)
at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:30864) 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: 4)
(node:30864) [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.
If it's a 2FA related problem, you can try creating an new account and inviting to have read only access to the cameras/doorbells you want to expose. Then use that new account's credentials for this plugin and you can keep 2FA enabled for your admin account.
I'd suggest that's a better and more secure way of setting this up anyway.
If it's a 2FA related problem, you can try creating an new account and inviting to have read only access to the cameras/doorbells you want to expose. Then use that new account's credentials for this plugin and you can keep 2FA enabled for your admin account.
I'd suggest that's a better and more secure way of setting this up anyway.
Iāve done this and it didnāt fix anything. I created a whole new account that never had 2FA, deleted the credentials file, uninstalled the plugin, then redid it all and itās the same problem.
I added a option to disable push if you like (and fixed the issue that it blocks further code to run).
I also added some debug parameters so you should be able to report better logs for me.
@birkir After updating and enabling debug
[12/5/2020, 12:23:32] [EufySecurityHomebridgePlugin] Initializing EufySecurityHomebridgePlugin platform...
[12/5/2020, 12:23:32] [EufySecurityHomebridgePlugin] Config {
username: 'email-redacted',
password: 'password-redacted',
platform: 'EufySecurityHomebridgePlugin'
}
[12/5/2020, 12:23:32] [EufySecurityHomebridgePlugin] Finished initializing platform: undefined
[12/5/2020, 12:23:33] [EufySecurityHomebridgePlugin] push client disabled
[12/5/2020, 12:23:33] [EufySecurityHomebridgePlugin] Executed didFinishLaunching callback
(node:17243) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 shutdown listeners added to [HomebridgeAPI]. Use emitter.setMaxListeners() to increase limit
I added a option to disable push if you like (and fixed the issue that it blocks further code to run).
I also added some debug parameters so you should be able to report better logs for me.
Version 0.1.2 working with 2FA disabled and wired door bellš Great
I added a option to disable push if you like (and fixed the issue that it blocks further code to run).
What does this disable? Notifications?
I also added some debug parameters so you should be able to report better logs for me.
Great!
Here's my current (redacted) logs:
[12/5/2020, 12:32:44 PM] [EufySecurityHomebridgePlugin] Initializing EufySecurityHomebridgePlugin platform...
[12/5/2020, 12:32:44 PM] [EufySecurityHomebridgePlugin] Config {
username: 'me@example.com',
password: 'PASSWORDHERE',
enablePush: false,
platform: 'EufySecurityHomebridgePlugin'
}
[12/5/2020, 12:32:44 PM] [EufySecurityHomebridgePlugin] Finished initializing platform: undefined
[12/5/2020, 12:32:44 PM] [EufySecurityHomebridgePlugin] push client disabled
[12/5/2020, 12:32:44 PM] [EufySecurityHomebridgePlugin] Executed didFinishLaunching callback
(node:65778) UnhandledPromiseRejectionWarning: HTTPError: Response code 401 (Unauthorized)
at Request.<anonymous> (/Users/dshafik/.nvm/versions/node/v14.15.1/lib/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:65778) 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: 1)
(node:65778) [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.
One issue that can be easily fixed is:
[12/5/2020, 12:32:44 PM] [EufySecurityHomebridgePlugin] Finished initializing platform: undefined
-- this.log.debug("Finished initializing platform:", this.config.name);
++ this.log.debug("Finished initializing platform:", this.config.platform);
But that's not going to impact anything of consequence.
Still nothing for me, with push on or off.
Is there a dependent package for this? Like a camera or doorbell one?
I have the newest version. 0.1.2 and my logs look like this.
EufySecurityHomebridgePlugin] failed to confirm push token
(node:93803) UnhandledPromiseRejectionWarning: Error: Request failed: https://security-app.eufylife.com/v1/passport/login -> 26006 - 504 Gateway Timeout
at /usr/local/lib/node_modules/homebridge-plugin-eufy-security/node_modules/eufy-node-client/build/http/http.utils.js:24:15
at Generator.next (--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:93803) [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.
@raphb83 how are you running Homebridge? Pi or other?
I have it running on an iMac.
I have the same error and logs running on a Mac Mini
I am also using Mac, specifically a 2018 MbP with macOS Big Sur
I have it running on my 2020 13" MacBook Pro running Big Sur.
@raphb83 how are you running Homebridge? Pi or other?
@cmfrazier running on hoobs. Only issue right now that there is no refresh every 10 seconds
Now I'm getting:
failed to register push token HTTPError: Response code 401 (Unauthorized)
at Request.
AND other times I get
(node:15009) UnhandledPromiseRejectionWarning: Error: Request failed: https://security-app.eufylife.com/v1/passport/login -> -1 - Error 1184: the max activeConnnections size can not be max than maxconnections
at /usr/local/lib/node_modules/homebridge-plugin-eufy-security/node_modules/eufy-node-client/build/http/http.utils.js:24:15
at Generator.next (node --trace-warnings ...
to show where the warning was created)
(node:15009) 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: 1)
(node:15009) [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.
Sounds like a password issue maybe? I've tried multiple accounts. If I turn off the push, nothing happens. Thanks for the help!
The plugin don't work with homebridge in docker synology :(. I have the eufy wired doorbell always in error and do not show in ios home app.
The plugin don't work with homebridge in docker synology :(. I have the eufy wired doorbell always in error and do not show in ios home app.
I have this plugin running on Synology.
Battery doorbell (with HomeBase 2). No support for wired yet.
I have the battery doorbell, via Homebase 2 as well. In my case Homebridge is running (V1.2.3) on MacOS Big Sur on an iMac.
The Homebase is in HomeKit and also has an outside battery powered camera that has native HomeKit support.
As you can see above I am getting an error initializing the connection. I have tried with Push turned on and off.
The plugin don't work with homebridge in docker synology :(. I have the eufy wired doorbell always in error and do not show in ios home app.
I have this plugin running on Synology.
Battery doorbell (with HomeBase 2). No support for wired yet.
I thought the wired version was supported. Do you have plan to support wired version in future without homebase 2 ? Thank you for your work !
@raphb83 appears to have his wired version working based on his comment. I guess we should clarify, is it the battery version but it's wired or is it the original wired doorbell?
@raphb83 appears to have his wired version working based on his comment. I guess we should clarify, is it the battery version but it's wired or is it the original wired doorbell?
It's the original wired doorbell (this one)
@raphb83 would you mind posting your debug logs and config since your's appears to be working.
Just installed this plugin today and am getting the following error:
(node:2439) UnhandledPromiseRejectionWarning: RequestError: getaddrinfo ENOTFOUND security-app.eufylife.com
at ClientRequest.<anonymous> (/usr/lib/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/core/index.js:953:111)
at Object.onceWrapper (events.js:421:26)
at ClientRequest.emit (events.js:326:22)
at ClientRequest.origin.emit (/usr/lib/node_modules/homebridge-plugin-eufy-security/node_modules/@szmarczak/http-timer/dist/source/index.js:39:20)
at TLSSocket.socketErrorListener (_http_client.js:427:9)
at TLSSocket.emit (events.js:314:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)
(node:2439) 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: 1)
(node:2439) [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.
I'm running on an Ubuntu VM.
I too am getting an error. Mine states āfailed to confirm push tokenā. No eufy doorbell or cameras show up. Any ideas?
No change in logs using 0.1.3
I now have a new error message with the update to 0.1.3:
(node:23082) UnhandledPromiseRejectionWarning: HTTPError: Response code 401 (Unauthorized)
at Request.<anonymous> (/usr/lib/node_modules/homebridge-plugin-eufy-security/node_modules/got/dist/source/as-promise/index.js:117:42)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:23082) 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: 1)
(node:23082) [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.
@raphb83 would you mind posting your debug logs and config since your's appears to be working.
I will post debug logs and config as soon a I manage to run my hoobs in debug modeš¬
I have installed the plugin in homebridge and supplied valid credentials, no accessories ever appear. Are there any additional instructions we should be following? I have restarted Homebridge multiple times, nothing ever appears. This is a Battery 2K Doorbell.
Plugin version - 0.0.3 Homebridge - v1.2.3 NPM - 6.14.7
12/1/2020, 8:17:03 PM] [EufySecurityHomebridgePlugin] credentials found. reusing them...