samemory / homebridge-eufy-security

Work in progress
Apache License 2.0
97 stars 14 forks source link

[Bug]: Shuts down homebridge #327

Closed dhpatt closed 2 years ago

dhpatt commented 2 years ago

What happened?

I have tried installing several times, clearing previous settings when installing.

I have a guest account (with admin access) set up for this.

Device Type

Station (Supported)

Plugin Version

v1.0.x (Supported)

HomeBridge Version

v1.3.x (Supported)

NodeJS Version

v12 (Supported)

Operating System

Mac OS X 11+ (Supported)

Relevant log output

[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:39:26)
    at P2PClientProtocol.lookupByAddress (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:295:50)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:39:26)
    at P2PClientProtocol.lookupByAddress (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:295:50)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:39:26)
    at P2PClientProtocol.lookupByAddress (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:295:50)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:39:26)
    at P2PClientProtocol.lookupByAddress (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:295:50)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:39:26)
    at P2PClientProtocol.lookupByAddress (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:295:50)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:39:26)
    at P2PClientProtocol.lookupByAddress (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:295:50)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:275:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:61:26)
    at P2PClientProtocol.lookupByAddress2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:304:51)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:61:26)
    at P2PClientProtocol.lookupByAddress2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:304:51)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:61:26)
    at P2PClientProtocol.lookupByAddress2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:304:51)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:61:26)
    at P2PClientProtocol.lookupByAddress2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:304:51)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:61:26)
    at P2PClientProtocol.lookupByAddress2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:304:51)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at Function.from (node:buffer:322:9)
    at stringWithLength (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:24:35)
    at p2pDidToBuffer (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:34:18)
    at buildLookupWithKeyPayload2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/utils.ts:61:26)
    at P2PClientProtocol.lookupByAddress2 (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:304:51)
    at /usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:51
    at Array.map (<anonymous>)
    at P2PClientProtocol.lookup (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:276:29)
    at Socket.<anonymous> (/usr/local/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/p2p/session.ts:364:26)
[1/4/2022, 6:02:55 PM] Got SIGTERM, shutting down Homebridge...
[1/4/2022, 6:02:55 PM] [EufySecurity] Restoring existing accessory from cache: Bridge
[1/4/2022, 6:02:55 PM] [EufySecurity] Restoring existing accessory from cache: Side Exterior Door
[1/4/2022, 6:02:55 PM] [EufySecurity] Restoring existing accessory from cache: Garage Door
[1/4/2022, 6:02:55 PM] Got SIGTERM, shutting down child bridge process...
[1/4/2022, 6:02:55 PM] Got SIGTERM, shutting down child bridge process...
github-actions[bot] commented 2 years ago

Did you check this Common Issues pages ?

schliemann commented 2 years ago

I have never seen this error before. It is obviously emerging from the client library.

dhpatt commented 2 years ago

Any suggestion on how I should troubleshoot? I have followed all of the install directions and this is only happening when Eufy is enabled.

schliemann commented 2 years ago

Is there no preceeding log?

dhpatt commented 2 years ago

All of the log prior is the other plugins that are running as normal. I can include that if it helps.

schliemann commented 2 years ago

Can you set enableDetailedLogging to 2 and try again?

schliemann commented 2 years ago

It looks like an error emerging from the client library. But I have no idea what's causing it. Bropat might have an idea.