Giter Site home page Giter Site logo

homebridge-eufy-security's People

Contributors

lenoxys avatar samemory avatar schliemann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-eufy-security's Issues

UnhandledPromiseRejectionWarning & Non-Working Doorbell Camera

Describe The Bug:
Camera (Wired 2K) does not stream. In HomeKit the device shows as a "No Response". Was working fine until about 2-3 weeks ago. Plugin is on child bridge due to "this plugin slows down homebridge" message the last few weeks.

To Reproduce:
Just use device, all functionality is broken for me.

Expected behavior:
Stream video, show alerts when door bell is rung, etc

Logs:

(node:32715) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at DoorbellCameraAccessory.isMotionDetected (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:250:46)
    at DoorbellCameraAccessory.handleMotionDetectedGet (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:260:37)
    at MotionDetected.emit (events.js:400:28)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:32715) 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: 26)
[Doorbell] Unhandled error thrown inside snapshot request handler: TypeError: this.device.getLastCameraImageURL is not a function
    at EufyCameraStreamingDelegate.handleSnapshotRequest (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:212:42)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:436:23
    at new Promise (<anonymous>)
    at CameraController.handleSnapshotRequest (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:420:12)
    at Bridge.Accessory.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1781:18)
    at HAPServer.emit (events.js:400:28)
    at HAPServer.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:968:12)
    at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:369:11)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1317:12)
(node:32715) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at DoorbellCameraAccessory.isMotionDetected (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:250:46)
    at DoorbellCameraAccessory.handleMotionDetectedGet (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:260:37)
    at MotionDetected.emit (events.js:400:28)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:32715) 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: 29)
[Doorbell] Unhandled error thrown inside snapshot request handler: TypeError: this.device.getLastCameraImageURL is not a function
    at EufyCameraStreamingDelegate.handleSnapshotRequest (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:212:42)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:436:23
    at new Promise (<anonymous>)
    at CameraController.handleSnapshotRequest (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:420:12)
    at Bridge.Accessory.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1781:18)
    at HAPServer.emit (events.js:400:28)
    at HAPServer.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:968:12)
    at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:369:11)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1317:12)
(node:32715) UnhandledPromiseRejectionWarning: TypeError: this.device.startStream is not a function
    at EufyCameraStreamingDelegate.startStream (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:349:37)
    at EufyCameraStreamingDelegate.handleStreamRequest (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:559:16)
    at RTPStreamManagement._handleStartStream (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RTPStreamManagement.ts:816:19)
    at RTPStreamManagement._handleSelectedStreamConfigurationWrite (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RTPStreamManagement.ts:647:14)
    at SelectedRTPStreamConfiguration.emit (events.js:400:28)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1632:16
    at new Promise (<anonymous>)
    at SelectedRTPStreamConfiguration.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1630:14)
    at step (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
(node:32715) 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: 31)
(node:32715) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at DoorbellCameraAccessory.isMotionDetected (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:250:46)
    at DoorbellCameraAccessory.handleMotionDetectedGet (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:260:37)
    at MotionDetected.emit (events.js:400:28)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:32715) 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: 33)
[8/4/2021, 4:56:12 AM] [homebridge-eufy-security] Stopped video stream. Doorbell
[8/4/2021, 4:56:12 AM] [homebridge-eufy-security] This plugin threw an error from the characteristic 'Selected RTP Stream Configuration': Unhandled error thrown inside write handler for characteristic: this.device.stopStream is not a function. See https://git.io/JtMGR for more info.
[Doorbell] Unhandled error thrown inside snapshot request handler: TypeError: this.device.getLastCameraImageURL is not a function
    at EufyCameraStreamingDelegate.handleSnapshotRequest (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:212:42)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:436:23
    at new Promise (<anonymous>)
    at CameraController.handleSnapshotRequest (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:420:12)
    at Bridge.Accessory.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1781:18)
    at HAPServer.emit (events.js:400:28)
    at HAPServer.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:968:12)
    at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:369:11)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1317:12)
[Doorbell] Unhandled error thrown inside snapshot request handler: TypeError: this.device.getLastCameraImageURL is not a function
    at EufyCameraStreamingDelegate.handleSnapshotRequest (/usr/lib/node_modules/homebridge-eufy-security/src/accessories/streamingDelegate.ts:212:42)
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:436:23
    at new Promise (<anonymous>)
    at CameraController.handleSnapshotRequest (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:420:12)
    at Bridge.Accessory.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1781:18)
    at HAPServer.emit (events.js:400:28)
    at HAPServer.handleResource (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:968:12)
    at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:369:11)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1317:12)

Plugin Config:

{
    "username": "[email protected]",
    "password": "REDACTED",
    "enableDetailedLogging": true,
    "hkHome": 1,
    "hkAway": 0,
    "hkNight": 3,
    "hkOff": 63,
    "hkDisarmed": 6,
    "_bridge": {
        "username": "0E:C2:7A:FA:3C:A4",
        "port": 31939
    },
    "platform": "EufySecurity"
}

Screenshots:

Environment:

  • Plugin Version: homebridge-eufy-security v0.2.13
  • Homebridge Version: v1.3.4
  • Node.js Version: v14.17.4
  • NPM Version: 6.14.14
  • Operating System: Ubuntu 20.04.2 LTS

Plugin Error

Plugin Error

[14.07.2021, 11:38:10] [homebridge-eufy-security] Restoring existing accessory from cache: Bedroom
[14.07.2021, 11:38:10] [homebridge-eufy-security] Restoring existing accessory from cache: Living Room
[14.07.2021, 11:38:10] [homebridge-eufy-security] Restoring existing accessory from cache: Outdoor Garden
[14.07.2021, 11:38:10] [homebridge-eufy-security] Restoring existing accessory from cache: Hall Entryway
[14.07.2021, 11:38:10] [homebridge-eufy-security] Restoring existing accessory from cache: Outdoor
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Susan Room
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Charlie Room
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Bedroom
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Living Room
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Outdoor Garden
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Hall Entryway
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Outdoor
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Susan Room
[14.07.2021, 11:38:11] [homebridge-eufy-security] Restoring existing accessory from cache: Charlie Room
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"P2PClientProtocol.lookup(): station: T8400P202024203E - All address lookup tentatives failed.","time":"2021-07-14T09:38:11.322Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Disconnected from station T8400P202024203E","time":"2021-07-14T09:38:17.492Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"P2PClientProtocol.lookup(): station: T8400P2020280B5C - All address lookup tentatives failed.","time":"2021-07-14T09:38:17.495Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Disconnected from station T8400P2020280B5C","time":"2021-07-14T09:38:18.284Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Connected to station T8400P2020280834 on host 192.168.1.33 and port 18684","time":"2021-07-14T09:38:18.558Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Connected to station T8400P2020280DDC on host 192.168.1.31 and port 12615","time":"2021-07-14T09:38:18.589Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Connected to station T8400P20202909DF on host 192.168.1.30 and port 10945","time":"2021-07-14T09:38:18.625Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"Error: Error: socket hang up\n at connResetException (internal/errors.js:607:14)\n at TLSSocket.socketOnEnd (_http_client.js:493:23)\n at TLSSocket.emit (events.js:327:22)\n at endReadableNT (internal/streams/readable.js:1327:12)\n at processTicksAndRejections (internal/process/task_queues.js:80:21) {\n code: 'ECONNRESET',\n config: {\n url: 'https://android.clients.google.com/checkin',\n method: 'post',\n data: <Buffer 0a 0f 31 30 39 32 36 39 39 39 33 38 31 33 37 30 39 10 00 22 65 0a 61 0a 37 67 6f 6f 67 6c 65 2f 72 61 7a 6f 72 2f 66 6c 6f 3a 35 2e 30 2e 31 2f 4c 52 ... 174 more bytes>,\n headers: {\n Accept: 'application/json, text/plain, /',\n 'X-Auth-Token': '30352ae92e5dab8e8ed0426a546e4582e248396d5f81eea0',\n 'Content-Type': 'application/x-protobuf',\n 'User-Agent': 'axios/0.21.1',\n 'Content-Length': 224\n },\n transformRequest: [ [Function: transformRequest] ],\n transformResponse: [ [Function: transformResponse] ],\n timeout: 0,\n adapter: [Function: httpAdapter],\n responseType: 'arraybuffer',\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n maxBodyLength: -1,\n validateStatus: [Function: validateStatus]\n },\n request: <ref *1> Writable {\n _writableState: WritableState {\n objectMode: false,\n highWaterMark: 16384,\n finalCalled: false,\n needDrain: false,\n ending: false,\n ended: false,\n finished: false,\n destroyed: false,\n decodeStrings: true,\n defaultEncoding: 'utf8',\n length: 0,\n writing: false,\n corked: 0,\n sync: true,\n bufferProcessing: false,\n onwrite: [Function: bound onwrite],\n writecb: null,\n writelen: 0,\n afterWriteTickInfo: null,\n buffered: [],\n bufferedIndex: 0,\n allBuffers: true,\n allNoop: true,\n pendingcb: 0,\n prefinished: false,\n errorEmitted: false,\n emitClose: true,\n autoDestroy: true,\n errored: null,\n closed: false\n },\n _events: [Object: null prototype] {\n response: [Function: handleResponse],\n error: [Function: handleRequestError]\n },\n _eventsCount: 2,\n _maxListeners: undefined,\n _options: {\n maxRedirects: 21,\n maxBodyLength: 10485760,\n protocol: 'https:',\n path: '/checkin',\n method: 'POST',\n headers: [Object],\n agent: undefined,\n agents: [Object],\n auth: undefined,\n hostname: 'android.clients.google.com',\n port: null,\n nativeProtocols: [Object],\n pathname: '/checkin'\n },\n _ended: true,\n _ending: true,\n _redirectCount: 0,\n _redirects: [],\n _requestBodyLength: 224,\n _requestBodyBuffers: [ [Object] ],\n _onNativeResponse: [Function (anonymous)],\n _currentRequest: ClientRequest {\n _events: [Object: null prototype],\n _eventsCount: 7,\n _maxListeners: undefined,\n outputData: [],\n outputSize: 0,\n writable: true,\n destroyed: false,\n _last: true,\n chunkedEncoding: false,\n shouldKeepAlive: false,\n _defaultKeepAlive: true,\n useChunkedEncodingByDefault: true,\n sendDate: false,\n _removedConnection: false,\n _removedContLen: false,\n _removedTE: false,\n _contentLength: null,\n _hasBody: true,\n _trailer: '',\n finished: true,\n _headerSent: true,\n socket: [TLSSocket],\n _header: 'POST /checkin HTTP/1.1\r\n' +\n 'Accept: application/json, text/plain, /\r\n' +\n 'X-Auth-Token: 30352ae92e5dab8e8ed0426a546e4582e248396d5f81eea0\r\n' +\n 'Content-Type: application/x-protobuf\r\n' +\n 'User-Agent: axios/0.21.1\r\n' +\n 'Content-Length: 224\r\n' +\n 'Host: android.clients.google.com\r\n' +\n 'Connection: close\r\n' +\n '\r\n',\n _keepAliveTimeout: 0,\n _onPendingData: [Function: noopPendingOutput],\n agent: [Agent],\n socketPath: undefined,\n method: 'POST',\n maxHeaderSize: undefined,\n insecureHTTPParser: undefined,\n path: '/checkin',\n _ended: false,\n res: null,\n aborted: false,\n timeoutCb: null,\n upgradeOrConnect: false,\n parser: null,\n maxHeadersCount: null,\n reusedSocket: false,\n host: 'android.clients.google.com',\n protocol: 'https:',\n _redirectable: [Circular *1],\n [Symbol(kCapture)]: false,\n [Symbol(kNeedDrain)]: false,\n [Symbol(corked)]: 0,\n [Symbol(kOutHeaders)]: [Object: null prototype]\n },\n _currentUrl: 'https://android.clients.google.com/checkin',\n [Symbol(kCapture)]: false\n },\n response: undefined,\n isAxiosError: true,\n toJSON: [Function: toJSON]\n}","time":"2021-07-14T09:38:18.774Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"Status return code not 200 { status: undefined, statusText: undefined, data: undefined }","time":"2021-07-14T09:38:18.776Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"Generic Error: Error: Google checkin failed with error: undefined\n at PushNotificationService.executeCheckin (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:205:23)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)\n at PushNotificationService.loginPushCredentials (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:168:33)\n at PushNotificationService._open (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:497:32)\n at PushNotificationService.open (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:544:9)","time":"2021-07-14T09:38:19.206Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"Push credentials login Error: Error: Google checkin failed with error: Error: Google checkin failed with error: undefined\n at PushNotificationService.executeCheckin (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:209:19)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)\n at PushNotificationService.loginPushCredentials (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:168:33)\n at PushNotificationService._open (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:497:32)\n at PushNotificationService.open (/usr/lib/node_modules/homebridge-eufy-security/node_modules/eufy-security-client/src/push/service.ts:544:9)","time":"2021-07-14T09:38:19.212Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"Push notifications are disabled, because the registration failed!","time":"2021-07-14T09:38:19.214Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Retry to register/login for push notification in 5 seconds...","time":"2021-07-14T09:38:19.216Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Retry to register/login for push notification","time":"2021-07-14T09:39:00.552Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"P2PClientProtocol.lookup(): station: T8400P2020242A5F - All address lookup tentatives failed.","time":"2021-07-14T09:39:00.571Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Disconnected from station T8400P2020242A5F","time":"2021-07-14T09:39:04.284Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"P2PClientProtocol.lookup(): station: T8400P20202909DF - All address lookup tentatives failed.","time":"2021-07-14T09:39:39.625Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Disconnected from station T8400P20202909DF","time":"2021-07-14T09:39:40.879Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":50,"msg":"P2PClientProtocol.lookup(): station: T8400P2020280834 - All address lookup tentatives failed.","time":"2021-07-14T09:39:40.880Z","v":0}
{"name":"eufyLog","hostname":"hkbridge","pid":2501,"level":30,"msg":"Disconnected from station T8400P2020280834","time":"2021-07-14T09:39:43.250Z","v":0}

Camera responsiveness

Hi

currently I have a ring camera and use the ring homebridge plugin, it’s not that great as it can often take anywhere between 10 and 60+ seconds to initialise and connect to the camera feed. I was wondering if this is also the case for the eufy cameras as I was considering getting one

Thanks so much

Ability to turn cameras on/off and motion

Is your feature request related to a problem? Please describe:
Additional camera controls

Describe the solution you'd like:

Add the ability to turn on/off eufy 2C and indoor 2k cameras, and motion on/off on indoor 2k cameras.

Right now the Eufy 2C cameras have the motion on/off control but the indoor 2k cameras only register as a motion device without the ability to activate motion. Same with on/off switch. This feature was active in earlier versions but seems to have to been removed.

Sorry - I don't know how else to say "thank you" for working on this!

Thank you for trying to deliver on Eufy's HomeKit Doorbell empty promise. I had the other plug in working until they started banning my guest account that used it.

Sorry for making a "feature request". Wasn't sure how else to let you know there are many lurkers like me that rely on the kindness of your efforts.

Doorbell camera not showing live footage

When the camera does load a stream it is not showing live footage. Currently the stream on my phone always loads a motion event that occured at 12:15, it is currently 12:29.

Doorbell No response / No Video

Hi there,

I have updated to the newest Version of this Plugin this morning. But my Doorbell don't stream any Video.

HomeBridge says: Failed to start stream: spawn ffmpeg ENOENT Doorbell

Has any1 a solution for this ?

/ HomeBridge runs on a Mac with High Sierra.
/ All other Eufy Devices are working great.

No stream

Describe Your Problem:

.

Doorbell Camera (Wireless) does not stream. In HomeKit the device shows as a "No Response".

Do I miss something ?

Logs:


[04/08/2021, 08:30:40] [EufySecurity] Starting video stream: 1280 x 720, 30 fps, 299 kbps Doorbell
[04/08/2021, 08:31:10] [EufySecurity] Stopped video stream. Doorbell
{"name":"eufyLog","hostname":"homebridge","pid":14193,"level":30,"msg":"Livestream of camera T8210P0020211E04 stopped","time":"2021-08-04T06:31:10.369Z","v":0}

Plugin Config:

{
            "username": "[email protected]",
            "password": "xxxx",
            "ipAddress": "192.168.1.20",
            "enableDetailedLogging": true,
            "enableCamera": true,
            "pollingIntervalMinutes": "15",
            "hkHome": 1,
            "hkAway": 0,
            "hkNight": 3,
            "hkOff": 63,
            "hkDisarmed": 6,
            "platform": "EufySecurity"
        },
        {
            "name": "Camera FFmpeg",
            "cameras": [],
            "platform": "Camera-ffmpeg"
        }

Screenshots:

Environment:

  • Plugin Version: homebridge-camera-ffmpeg v3.1.2
  • Homebridge Version: v.1.3.4
  • Node.js Version: v.14.16.0
  • NPM Version: v.7.6.2
  • Operating System: Raspbian GNU/Linux Buster (10)

Exception thrown when activating wired Doorbell

Describe The Bug:
Unhandled errors are being thrown due to functions not being available.

To Reproduce:
After a clean installation of both home bridge and eufy security plugin I activated the eufy Wired Doorbell.

Expected behavior:
Not sure, never used it before but no errors would be expected :)

Logs:

[6/14/2021, 1:15:06 PM] Homebridge v1.3.4 (Homebridge 5DE1) is running on port 53300.
[6/14/2021, 1:15:09 PM] [EufySecurity] Adding new accessory: Doorbell
(node:2138) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.hasBattery is not a function
    at new SecurityDoorbellCameraAccessory (/homebridge/node_modules/homebridge-eufy-security/src/securityDoorbellCameraAccessory.ts:106:24)
    at EufySecurityPlatform.register_accessory (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:290:9)
    at EufySecurityPlatform.discoverDevices (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:233:16)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at HomebridgeAPI.<anonymous> (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:108:7)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:2138) 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:2138) [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.
[6/14/2021, 1:15:22 PM] [EufySecurity] Doorbell Triggered GET MotionDetected
[6/14/2021, 1:15:22 PM] [EufySecurity] Doorbell Handle Motion Sensor:  --  false

Plugin Config:

{
    "username": "[email protected]",
    "password": "noneofyourbusiness",
    "hkHome": 1,
    "hkAway": 0,
    "hkNight": 2,
    "hkOff": 63,
    "platform": "EufySecurity"
}

Environment:

  • Plugin Version: 0.2.0
  • Homebridge Version: 1.3.4
  • Node.js Version: 14.17.0
  • NPM Version: 6.14.13
  • Operating System: Docker

Hoobs issue

when i try to install the plugin with hoobs i get a error fail to install

NPM
ERR! code etarget
npm
ERR! notarget no matching version found for homebridge-eufy-security 0.2.11. in most cases you or one of your dependencies are requesting npm err!

With default values of hkOff security state fails

When the homekit security state default mapping is used by omitting them in the configuration the value of 63 is passed to homekit. I assume it should be mapped from the eufy guard mode instead.

This bug will happen for every eufy guard mode bigger than 4.

59541F81-B13E-4C15-8BF0-E9B45F3DF578

Exception Handling Error in Default Logs

Plugin set up with service account and connected to Homebase 2 v2.1.6.9h and Wired Security Doorbell T8200 v2.333. There is a error in the logs that an exception is being thrown and not handled gracefully.

This error persists reboots of the home bridge server

No noticeable impact on functionality, but assuming it would impact events generated by Doorbell motion sensor.

Logs:
The following error is recurring in the Default Homebridge log:

(node:11880) 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: 9)
(node:11880) UnhandledPromiseRejectionWarning: Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityCameraAccessory.handleMotionOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:239:5)
    at On.emit (events.js:327:22)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)

The Debug Log added the following:

[7/6/2021, 11:19:21 AM] [homebridge-eufy-security] This plugin threw an error from the characteristic 'Event Snapshots Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.

More detail on Doorbell from -D Trace:

[7/6/2021, 11:27:56 AM] [EufySecurity] Front Door Constructed Doorbell
(node:16119) UnhandledPromiseRejectionWarning: Error: A Controller with the type/id 'camera' was already added to the accessory Front Door
    at Accessory.configureController (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:742:13)
    at PlatformAccessory.configureController (/usr/local/lib/node_modules/homebridge/src/platformAccessory.ts:143:34)
    at new SecurityDoorbellCameraAccessory (/homebridge/node_modules/homebridge-eufy-security/src/securityDoorbellCameraAccessory.ts:140:15)
    at EufySecurityPlatform.register_accessory (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:275:9)
    at EufySecurityPlatform.discoverDevices (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:176:18)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at HomebridgeAPI.<anonymous> (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:93:7)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:16119) 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:16119) [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.
[7/6/2021, 11:27:56 AM] [EufySecurity] Front Door Triggered GET EventSnapshotsActive
[7/6/2021, 11:27:56 AM] [homebridge-eufy-security] This plugin threw an error from the characteristic 'Event Snapshots Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
[7/6/2021, 11:27:56 AM] [homebridge-eufy-security] Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityDoorbellCameraAccessory.handleEventSnapshotsActiveGet (/homebridge/node_modules/homebridge-eufy-security/src/securityDoorbellCameraAccessory.ts:185:5)
    at EventSnapshotsActive.emit (events.js:327:22)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at EventSnapshotsActive.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
[7/6/2021, 11:27:56 AM] [EufySecurity] Front Door Triggered GET HomeKitCameraActive
[7/6/2021, 11:27:56 AM] [EufySecurity] Front Door Triggered GET HomeKitCameraActive
[7/6/2021, 11:27:56 AM] [homebridge-eufy-security] This plugin threw an error from the characteristic 'HomeKit Camera Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
[7/6/2021, 11:27:56 AM] [homebridge-eufy-security] Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityDoorbellCameraAccessory.handleHomeKitCameraActiveGet (/homebridge/node_modules/homebridge-eufy-security/src/securityDoorbellCameraAccessory.ts:204:5)
    at HomeKitCameraActive.emit (events.js:327:22)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at HomeKitCameraActive.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)

Plugin Config:

{
"username": "xxxxxxxxxxxx",
"password": "xxxxxxxxxxxxx",
"ipAddress": "192.168.x.x",
"enableDetailedLogging": false,
"hkHome": 1,
"hkAway": 0,
"hkNight": 3,
"hkOff": 63,
"hkDisarmed": 6,
"platform": "EufySecurity"
}

Environment:

  • Plugin Version: v0.2.4
  • Homebridge Version: 1.3.4
  • Node.js Version: v14.15.4
  • NPM Version: 6.14.10
  • Operating System: Docker

HomeBase Security Status switch off - but no reaction in HomeKit.

Hi there,

Found a little Problem. We use the KeyPad to switch the Security Modes. The "Away" und "Home" Mode works great but if I click the "Off" Button, only the Eufy HomeBase switch to "off" mode - no reaction in HomeKit.

To change the plugin settings does not work.

Plugin doesn't load in Homebridge, puts Homebridge in infinite loading loop

Describe The Bug:
Plugin doesn't load in Homebridge, puts Homebridge in infinite loading loop.

To Reproduce:
Just installed plugin and entered credentials.

Expected behavior:
Homebridge is loading with Eufy accessories.

Logs:

[6/26/2021, 10:04:25 PM] [EufySecurity] Eufy Guard Mode:  { value: 6, timestamp: 1624728259000 }
[6/26/2021, 10:04:25 PM] [EufySecurity] Eufy Guard Mode:  { value: 6, timestamp: 1624728259000 }
TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:192:42)
    at On.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:192:42)
    at On.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:160:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:170:37)
    at MotionDetected.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:160:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:170:37)
    at MotionDetected.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
[6/26/2021, 10:04:25 PM] Got SIGTERM, shutting down Homebridge...

Plugin Config:

"username": "*****",
"password": "*****",
"hkHome": 1,
"hkAway": 0,
"hkNight": 3,
"hkOff": 63,
"hkDisarmed": 6,
"platform": "EufySecurity"

Environment:

  • 0.2.4:
  • Homebridge Version: 1.3.4
  • Node.js Version: 14.17.1
  • NPM Version: 7.19.0
  • Operating System: Alpine Linux (3.12.7)

Not updating changes

The status of entry sensor is not updating, when I open (or close) a door it stay in the same status (opened or closed). It only change when I reboot home bridge

Awesome plugin!

Security

Hello,

I see your username and password. You should remove them from your code !

Regards,
Aurelien

No devices found - Does not seem to login to Eufy

Describe The Bug:
Plugin does not find any devices. Using an incorrect login also does not trigger any errors.

To Reproduce:
Fresh install

Expected behavior:
Devices should appear or errors should be logged

Logs:

[7/17/2021, 9:42:10 PM] [EufySecurity] Initializing EufySecurity platform...
[7/17/2021, 9:42:10 PM] [EufySecurity] Finished initializing platform: undefined
[7/17/2021, 9:42:10 PM] [EufySecurity] enableDetailedLogging: undefined
[7/17/2021, 9:42:10 PM] [EufySecurity] discoveringDevices
[7/17/2021, 9:42:10 PM] [EufySecurity] EMAIL
[7/17/2021, 9:42:10 PM] [EufySecurity] PASSWORD
Preparing Advertiser for 'Homebridge 3558 DDB9' using bonjour-hap backend!
Setup Payload:
X-HM://XXXXXXXX
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ XXXXXXXXX │     
    └────────────┘     
                       
Starting to advertise 'Homebridge XXXXXXXXX' using bonjour-hap backend!
[7/17/2021, 9:42:10 PM] Homebridge v1.3.4 (Homebridge XXXXX) is running on port 51888.
[7/17/2021, 9:42:11 PM] [EufySecurity] EufyClient connected false
[7/17/2021, 9:42:11 PM] [EufySecurity] PollingInterval: 10
[7/17/2021, 9:42:11 PM] [EufySecurity] Refresh data from cloud and schedule next refresh.
[7/17/2021, 9:42:14 PM] [EufySecurity] Found 0 devices.
[7/17/2021, 9:42:14 PM] [EufySecurity] Found 0 hubs.

Plugin Config:

{
            "username": "EMAIL",
            "password": "PASSWORD",
            "hkHome": 1,
            "hkAway": 0,
            "hkNight": 3,
            "hkOff": 63,
            "hkDisarmed": 6,
            "platform": "EufySecurity"
        }

Screenshots:

Environment:

  • Plugin Version:
  • Homebridge Version: 1.3.4
  • Node.js Version: v14.17.0
  • NPM Version: 7.18.1
  • Operating System: macOS 11.2.3

Plugin will not start after reinstallation new version

I deinstall the "birkir" Eufy security pluging and update this plugin, now the plugin will not start anymore.
I get the message: "Cannot find module 'eufy-security-client"
I try to install this library (npm i eufy-security-client), but no success

[30/06/2021, 18:22:54] ERROR LOADING PLUGIN homebridge-eufy-security:
[30/06/2021, 18:22:54] Error: Cannot find module 'eufy-security-client'
Require stack:

  • /usr/local/lib/node_modules/homebridge-eufy-security/dist/securityEntrySensorAccessory.js
  • /usr/local/lib/node_modules/homebridge-eufy-security/dist/platform.js
  • /usr/local/lib/node_modules/homebridge-eufy-security/dist/index.js
  • /usr/local/lib/node_modules/homebridge/lib/plugin.js
  • /usr/local/lib/node_modules/homebridge/lib/pluginManager.js
  • /usr/local/lib/node_modules/homebridge/lib/server.js
  • /usr/local/lib/node_modules/homebridge/lib/cli.js
  • /usr/local/lib/node_modules/homebridge/bin/homebridge
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15)
    at Function.Module._load (internal/modules/cjs/loader.js:730:27)
    at Module.require (internal/modules/cjs/loader.js:957:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object. (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityEntrySensorAccessory.ts:9:1)
    at Module._compile (internal/modules/cjs/loader.js:1068:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:933:32)
    at Function.Module._load (internal/modules/cjs/loader.js:774:14)
    at Module.require (internal/modules/cjs/loader.js:957:19)
    [30/06/2021, 18:22:54] ====================

Now I have no more ideas, please help!

Plugin doesn't work. It shows "no station found" and "no devices found" in the log...

Describe The Bug:

Plugin loads, adding 6 accessories, and then it shows "no stations found" and "no devices found"

To Reproduce:

Just install, type in username and password. Activate logs.

Expected behavior:

Showing Homebase and 2 cameras in HomeKit

Logs:

{"name":"eufyLog","hostname":"homeserver","pid":3243,"level":30,"msg":"No stations found.","time":"2021-06-14T13:53:50.353Z","v":0}
{"name":"eufyLog","hostname":"homeserver","pid":3243,"level":30,"msg":"No devices found.","time":"2021-06-14T13:53:50.714Z","v":0}
{"name":"eufyLog","hostname":"homeserver","pid":3243,"level":30,"msg":"No stations found.","time":"2021-06-14T13:54:51.093Z","v":0}
{"name":"eufyLog","hostname":"homeserver","pid":3243,"level":30,"msg":"No devices found.","time":"2021-06-14T13:54:51.452Z","v":0}
{"name":"eufyLog","hostname":"homeserver","pid":3243,"level":30,"msg":"No stations found.","time":"2021-06-14T13:55:51.841Z","v":0}
{"name":"eufyLog","hostname":"homeserver","pid":3243,"level":30,"msg":"No devices found.","time":"2021-06-14T13:55:52.179Z","v":0}

Environment:

  • Plugin Version: 0.2.0
  • Homebridge Version: 1.3.4
  • Node.js Version: 14.17.0
  • NPM Version: 6.14.13
  • Operating System: Raspbian

I have created a new account as a guest and shared it with my main account. 2FA is disabled.
But I still have the cameras in HomeKit natively.
I just want to use this plugin to trigger my Homebase modes because the geofencing of the official Eufy-App doesn't work.

The other question is, if my homebridge eufy Account is just as a guest, can the plugin trigger the Homebase modes?

And when is Night triggered? Is there any time I can adjust?

Chime Shown, Homebase not shown

Describe The Bug:
Doorbell chime is recognised and maps the security states successfully (home, away, etc). But the Homebase itself does not appear.

To Reproduce:
Chime and Homebase hardware installed, run plugin.

Expected behavior:
Make the Homebase the alarm system and ignore the chime

Logs:

[6/11/2021, 9:01:31 AM] [EufySecurity] Adding new accessory: Doorbell
[6/11/2021, 9:01:31 AM] [EufySecurity] Adding new accessory: Chime
[6/11/2021, 9:01:50 AM] [EufySecurity] Eufy Guard Mode:  { value: 1, timestamp: 1613159408000 }
[6/11/2021, 9:01:50 AM] [EufySecurity] Eufy Guard Mode:  { value: 1, timestamp: 1613159408000 }

Plugin Config:

            "username": "[email protected]",
            "password": "myPassword",
            "hkHome": 1,
            "hkAway": 0,
            "hkNight": 3,
            "hkOff": 63,
            "platform": "EufySecurity"

Screenshots:

Environment:

  • Plugin Version: 0.1.1
  • Operating System: macOS >

Huge amount of messages in homebridge logging

This plugin produces a lot of messages in the hombridge log-file.
This message comes every minute.

Logs:
(node:4974) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function at CameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/accessories/CameraAccessory.ts:209:42) at On.emit (events.js:387:35) at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14 at new Promise (<anonymous>) at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12) at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27) at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57) at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75 at new Promise (<anonymous>) at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16) (node:4974) 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: 186) (node:4974) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function at CameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/accessories/CameraAccessory.ts:178:46) at CameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/accessories/CameraAccessory.ts:188:37) at MotionDetected.emit (events.js:387:35) at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14 at new Promise (<anonymous>) at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12) at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27) at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57) at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75 at new Promise (<anonymous>) (node:4974) 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: 188)


**Plugin Config:**
` {
            "username": "xxx",
            "password": "xxx",
            "hkHome": 1,
            "hkAway": 0,
            "hkNight": 3,
            "hkOff": 63,
            "hkDisarmed": 6,
            "platform": "EufySecurity"
        }`


**Environment:**

* **Plugin Version**: v0.2.12
* **Homebridge Version**: v1.3.4
* **Node.js Version**: v14.17.3
* **NPM Version**: v7.20.1
* **Operating System**: <!-- Raspbian 5.10.17-v7l+

Eufy Motion Sensor not triggering

HI
I have a Motion Sensor currently on firmware version 2.0.1.1, it has added ok to HomeKit but it doesn't trigger when Motion is detected (Eufy App can see it shows motion detected)

Not sure if i have done something wrong hope you can help.

Im currently running HOOBS 4.0.74 with node 14.17.2

Thanks

Chris

eufyLog: No devices found.

Describe The Bug:
No devices are found. Using a guest account for Eufy which only has access to the Doorbell.

To Reproduce:
Installed in a Docker, through HomeBridge with GUI. If I try the birkir plugin, the Doorbell shows up in Home, however that one doesn't seem to work when enabling Push notifications.

Expected behavior:
A Doorbell that shows up in the Home app.

Logs:
Starting to advertise 'Homebridge 0BDF' using bonjour-hap backend!
[8/1/2021, 2:01:52 PM] Homebridge v1.3.4 (Homebridge) is running on port 51826.
{"name":"eufyLog","hostname":"redacted","pid":350,"level":30,"msg":"No stations found.","time":"2021-08-01T12:01:52.949Z","v":0}
{"name":"eufyLog","hostname":"redacted","pid":350,"level":30,"msg":"No devices found.","time":"2021-08-01T12:01:53.300Z","v":0}
{"name":"eufyLog","hostname":"redacted","pid":350,"level":30,"msg":"No stations found.","time":"2021-08-01T12:01:53.345Z","v":0}
�[0;37m[8/1/2021, 2:01:53 PM] �[0m�[0;36m[Homebridge UI]�[0m �[0;33mHomebridge Config UI X v4.41.2 is listening on 0.0.0.0 port 8124�[0m
{"name":"eufyLog","hostname":"redacted","pid":350,"level":30,"msg":"No devices found.","time":"2021-08-01T12:01:53.727Z","v":0}
{"name":"eufyLog","hostname":"redacted","pid":350,"level":30,"msg":"Push notification connection successfully established","time":"2021-08-01T12:02:04.399Z","v":0}
{"name":"eufyLog","hostname":"redacted","pid":350,"level":30,"msg":"Push notification connection successfully established","time":"2021-08-01T12:02:04.399Z","v":0}

Plugin Config:
{
"username": "[email protected]",
"password": "redacted",
"enableDetailedLogging": true,
"enableCamera": true,
"hkHome": 1,
"hkAway": 0,
"hkNight": 0,
"hkOff": 63,
"hkDisarmed": 6,
"platform": "EufySecurity"
}

Screenshots:
Not applicable.

Environment:

  • Plugin Version: v0.2.13
  • Homebridge Version: v1.3.4
  • Node.js Version: v0.9.4
  • NPM Version: Unkown
  • Operating System: Docker

Doorbell Camera does not respond

I can only get the doorbell camera to stream intermittently. The majority of the time it times out with the "No Response" image.

This is in the logs:

13/06/2021, 12:18:25 {"name":"eufyLog","hostname":"hoobs","pid":13039,"level":30,"msg":"Livestream of camera T8210P0020500575 started","time":"2021-06-13T11:18:25.598Z","v":0}
13/06/2021, 12:18:25 [EufySecurity] Starting video stream: 1280 x 720, 30 fps, 299 kbps Front Door
13/06/2021, 12:18:55 [EufySecurity] Stopped video stream. Front Door
13/06/2021, 12:18:55 {"name":"eufyLog","hostname":"hoobs","pid":13039,"level":50,"msg":"Response code not ok { code: 20023, msg: 'Failed to request.' }","time":"2021-06-13T11:18:55.563Z","v":0}

Error message with version 0.2.3

Hello!

Describe The Bug:

Since version 0.2.3 the plugin always generated the following error message.
The error message seems to come from the cameras that do not run via Homebase (Indoor Cam Pan & Tilt and Indoor Cam). These are also displayed in Home with "no response".

Logs:

[20.6.2021, 21:07:01] Registering platform 'homebridge-eufy-security.EufySecurity'
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loaded homebridge-eufy-security v0.2.3 child bridge successfully
[20.6.2021, 21:07:01] Loaded 23 cached accessories from cachedAccessories.0EA81DEBA8F2.
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Gartentür
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Freisitz
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Gartentor 
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Balkon
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Gartentür Kontaktsensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Garten Bewegungssensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Balkon Bewegungssensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Katzenklappe Bewegungssensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Balkontür Bewegungssensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Halle
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Haustür
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Garage
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Halle Bewegungssensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Haustür Bewegungssensor
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Vorhäuschen 
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: eufy HomeBase 2 Süd
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: eufy HomeBase 2 Nord
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Schlafzimmer Schrank
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Katzenthron
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Esszimmer
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Tankraum
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Wohnzimmer
[20.6.2021, 21:07:01] [homebridge-eufy-security] Loading accessory from cache: Katzenklappe
Preparing Advertiser for 'Homebridge-EufySecurity 3B70' using ciao backend!
Starting to advertise 'Homebridge-EufySecurity 3B70' using ciao backend!
[20.6.2021, 21:07:01] Homebridge v1.3.4 (Homebridge-EufySecurity) is running on port 50693.
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Gartentür
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Freisitz
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Gartentor 
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Balkon
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Gartentür Kontaktsensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Garten Bewegungssensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Balkon Bewegungssensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Katzenklappe Bewegungssensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Balkontür Bewegungssensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Halle
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Haustür
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Garage
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Halle Bewegungssensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Haustür Bewegungssensor
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: Vorhäuschen 
[20.6.2021, 21:07:14] [homebridge-eufy-security] Restoring existing accessory from cache: eufy HomeBase 2 Süd
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: eufy HomeBase 2 Nord
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: Schlafzimmer Schrank
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: Katzenthron
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: Esszimmer
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: Tankraum
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: Wohnzimmer
[20.6.2021, 21:07:15] [homebridge-eufy-security] Restoring existing accessory from cache: Katzenklappe
[20.6.2021, 21:07:16] [Homebridge UI] Terminal session ended.
[20.6.2021, 21:07:17] [Homebridge UI] Starting terminal session
[20.6.2021, 21:07:30] [homebridge-eufy-security] Eufy Guard Mode:  { value: 2, timestamp: 1623612544000 }
[20.6.2021, 21:07:30] [homebridge-eufy-security] Eufy Guard Mode:  { value: 2, timestamp: 1623612544000 }
[20.6.2021, 21:07:30] [homebridge-eufy-security] Eufy Guard Mode:  { value: 2, timestamp: 1598198228000 }
[20.6.2021, 21:07:30] [homebridge-eufy-security] Eufy Guard Mode:  { value: 2, timestamp: 1598198228000 }
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:186:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:16537) 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: 3)
(node:16537) [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.
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetectionEnabled is not a function
    at SecurityCameraAccessory.handleMotionOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:223:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:186:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 6)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetectionEnabled is not a function
    at SecurityCameraAccessory.handleMotionOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:223:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 7)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:186:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 9)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetectionEnabled is not a function
    at SecurityCameraAccessory.handleMotionOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:223:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 10)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:186:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 12)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetectionEnabled is not a function
    at SecurityCameraAccessory.handleMotionOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:223:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 13)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:186:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 15)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetectionEnabled is not a function
    at SecurityCameraAccessory.handleMotionOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:223:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 16)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isEnabled is not a function
    at SecurityCameraAccessory.handleOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:186:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 18)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetectionEnabled is not a function
    at SecurityCameraAccessory.handleMotionOnGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:223:42)
    at On.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
(node:16537) 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: 19)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:154:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:164:37)
    at MotionDetected.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:16537) 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: 20)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:154:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:164:37)
    at MotionDetected.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:16537) 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: 21)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:154:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:164:37)
    at MotionDetected.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:16537) 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: 22)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:154:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:164:37)
    at MotionDetected.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:16537) 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: 23)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:154:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:164:37)
    at MotionDetected.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:16537) 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: 24)
(node:16537) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at SecurityCameraAccessory.isMotionDetected (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:154:46)
    at SecurityCameraAccessory.handleMotionDetectedGet (/usr/local/lib/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:164:37)
    at MotionDetected.emit (events.js:375:28)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:16537) 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: 25)
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'Motion Detected' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'Motion Detected' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'Motion Detected' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'Motion Detected' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'Motion Detected' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'Motion Detected' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[20.6.2021, 21:07:33] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.

Plugin Config:

{
    "username": "[email protected]",
    "password": "secret",
    "hkHome": 1,
    "hkAway": 0,
    "hkNight": 3,
    "hkOff": 2,
    "_bridge": {
        "name": "Homebridge-EufySecurity",
        "username": "0E:A8:1D:EB:A8:F2",
        "port": 50773
    },
    "platform": "EufySecurity"
}

Environment:

  • Plugin Version: 0.2.3
  • Homebridge Version: 1.3.4
  • Node.js Version: 14.17.1
  • NPM Version: 7.18.1
  • Operating System: Raspbian

More MotionSensor Exceptions in Logs

It seems that further exceptions are present in the logs in version 0.2.13. I’m unsure if these issues are related to my previous issue #75 - The configuration and environment above remains the same.

Initially it seems that there is an issue restoring the Homebase:

[7/29/2021, 10:58:36 PM] [EufySecurity] Restoring existing accessory from cache: Homebase
(node:1570) UnhandledPromiseRejectionWarning: Error: A Controller with the type/id 'camera' was already added to the accessory Front Door
    at Accessory.configureController (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:742:13)
    at PlatformAccessory.configureController (/usr/local/lib/node_modules/homebridge/src/platformAccessory.ts:143:34)
    at new DoorbellCameraAccessory (/homebridge/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:146:15)
    at EufySecurityPlatform.register_accessory (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:278:9)
    at EufySecurityPlatform.discoverDevices (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:179:18)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at HomebridgeAPI.<anonymous> (/homebridge/node_modules/homebridge-eufy-security/src/platform.ts:96:7)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:1570) 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:1570) [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.

There seems to be some additional issues with the motion sensors:

[7/29/2021, 10:59:37 PM] [homebridge-eufy-security] This plugin threw an error from the characteristic 'Event Snapshots Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
[7/29/2021, 10:59:37 PM] [homebridge-eufy-security] This plugin threw an error from the characteristic 'HomeKit Camera Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
(node:1570) UnhandledPromiseRejectionWarning: TypeError: this.eufyDevice.isMotionDetected is not a function
    at DoorbellCameraAccessory.isMotionDetected (/homebridge/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:250:46)
    at DoorbellCameraAccessory.handleMotionDetectedGet (/homebridge/node_modules/homebridge-eufy-security/src/accessories/DoorbellCameraAccessory.ts:260:37)
    at MotionDetected.emit (events.js:327:22)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at MotionDetected.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:1570) 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: 7)

Plugin Config:

{
"username": "xxxxxxxxxxxx",
"password": "xxxxxxxxxxxxx",
"ipAddress": "192.168.x.x",
"enableDetailedLogging": false,
"hkHome": 1,
"hkAway": 0,
"hkNight": 3,
"hkOff": 63,
"hkDisarmed": 6,
"platform": "EufySecurity"
}

Environment:

Plugin Version: v0.2.13
Homebridge Version: 1.3.4
Node.js Version: v14.15.4
NPM Version: 6.14.10
Operating System: Docker

Originally posted by @jakobyte in #75 (comment)

[homebridge-eufy-security] This plugin slows down Homebridge.

Does this mean I cannot use both Eufy and HomeKit App at the same time? My Pi4 is running super slow since installing this plugin too. assume its related to this error

My user case is. having there HomeKit stream in PIP on the Apple TV watching the baby sleep. but also having the eufy app for Crying Alerts etc and 2k feed on my phone.

[01/08/2021, 09:31:41] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[01/08/2021, 09:31:41] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://git.io/JtMGR for more info.
[01/08/2021, 09:31:44] [RPi] RaspberryPi4: set Load from 1.73 to 1.72
[01/08/2021, 09:31:47] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://git.io/JtMGR for more info.
[01/08/2021, 09:31:47] [homebridge-eufy-security] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://git.io/JtMGR for more info.
[01/08/2021, 09:31:50] [homebridge-eufy-security] This plugin threw an error from the characteristic 'Event Snapshots Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
[01/08/2021, 09:31:50] [homebridge-eufy-security] This plugin threw an error from the characteristic 'HomeKit Camera Active': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.

Error with 1.2.4. Back to 1.2.3 works again...

Describe The Bug:
For me the error I reported in #57 still remains...

Logs:

[7/15/2021, 3:02:12 PM] [EufySecurity] Eufy Guard Mode:  { value: 1, timestamp: 1626336053000 }
[7/15/2021, 3:02:12 PM] [EufySecurity] Eufy Guard Mode:  { value: 1, timestamp: 1626336053000 }
(node:15747) UnhandledPromiseRejectionWarning: Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityCameraAccessory.handleMotionOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:239:5)
    at On.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:15747) 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:15747) [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.
(node:15747) UnhandledPromiseRejectionWarning: Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityCameraAccessory.handleMotionOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:239:5)
    at On.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:15747) 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)

Potential error with push notifications?

I am seeing this error in my homebridge log:
{"name":"eufyLog","hostname":"homebridge","pid":29432,"level":50,"msg":"Error: Error: EACCES: permission denied, open '/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/persistent.json'\n at Object.openSync (fs.js:476:3)\n at Object.writeFileSync (fs.js:1467:35)\n at EufySecurity.writePersistentData (/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/src/eufysecurity.ts:620:17)\n at EufySecurity.savePushCredentials (/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/src/eufysecurity.ts:647:14)\n at PushNotificationService.<anonymous> (/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/src/eufysecurity.ts:170:18)\n at PushNotificationService.emit (events.js:315:20)\n at PushNotificationService._open (/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/src/push/service.ts:504:18)\n at processTicksAndRejections (internal/process/task_queues.js:93:5)\n at PushNotificationService.open (/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/src/push/service.ts:544:9) {\n errno: -13,\n syscall: 'open',\n code: 'EACCES',\n path: '/usr/local/lib/node_modules/@samemory/homebridge-eufy-security-control/node_modules/eufy-security-client/persistent.json'\n}","time":"2021-06-07T14:13:14.058Z","v":0}

Snapshot Image not updating

When opening the camera in the home app, when the snapshot should refresh before opening the camera, it does not update like my other cameras. and in the logs i see this:

13/06/2021, 12:04:44 [Front Door] Snapshot request handler provided empty image buffer!

This is for a Eufy Doorbell

HOOBS plug in 0.2.5 won't install - possible to revert to 0.2.4?

Would it be possible to revert the HOOBS plugin listed as 0.2.5 to 0.2.4

the current version results in this error:

7/3/2021, 9:18:52 AM npm
7/3/2021, 9:18:52 AM ERR! code ENOLOCAL
7/3/2021, 9:18:52 AM npm
7/3/2021, 9:18:52 AM ERR! Could not install from "node_modules/homebridge-eufy-security/eufy-security-client" as it does not contain a package.json file.
7/3/2021, 9:18:52 AM
7/3/2021, 9:18:52 AM npm ERR! A complete log of this run can be found in:
npm ERR! /home/hoobs/.npm/_logs/2021-07-03T16_18_52_158Z-debug.log

Bug Doorbell

Hello team, there are 2 bugs concerning the bell. The first bug is that when a person rings we receive two notifications on the phone and the homepod rings twice. The second Bug is the fact that the video of the doorbell on the home application takes about thirty seconds to appear, which is a problem. I hope you will succeed in correcting these problems. Thank you again for your work!

Indoor 2k camera no Motion setting

The current version, 0.2.12 does not allow the indoor 2k camera to turn on/off motion settings. Earlier versions, I think with 0.1.4 motion detection could be turned on/off but now it’s always on.

Is it possible to bring that feature back to the current version?

no devices after Update to 0.25

no devices are displaying anymore after installing update to 0.25. (Eufy Base and Doorbell in my case)
Switch back to 0.24 solves the problem.

Error with 0.2.4. Rollback to 0.2.3 and it works again...

Describe The Bug:

Update to 0.2.4 and I got an error when I restart homebridge.
I have two cameras and both are showing the error message for the motion sensor...
Downgrade to 0.2.3 and everything is working again...

To Reproduce:

Just update the plugin.

Logs:

(node:13132) UnhandledPromiseRejectionWarning: Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityCameraAccessory.handleMotionOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:239:5)
    at On.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:13132) 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: 3)
(node:13132) UnhandledPromiseRejectionWarning: Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at SecurityCameraAccessory.handleMotionOnGet (/homebridge/node_modules/homebridge-eufy-security/src/securityCameraAccessory.ts:239:5)
    at On.emit (events.js:387:35)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1508:14
    at new Promise (<anonymous>)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1506:12)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
(node:13132) 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)

Plugin Config:

{
            "username": "[email protected]",
            "password": "xxx",
            "hkHome": 1,
            "hkAway": 0,
            "hkNight": 3,
            "hkOff": 63,
            "platform": "EufySecurity"
        }

Environment:

  • Plugin Version: 0.2.4
  • Homebridge Version: 1.3.4
  • Node.js Version: 14.17.1
  • NPM Version: 6.14.13
  • Operating System: Raspbian / Docker

Doorbell Bidirectionnal audio

What I can see in the debug logs, we're not seeing any more exceptions:

{"name":"eufyLog","hostname":"xxxxxxx","pid":25517,"level":20,"msg":"Front Door Triggered SET HomeKitCameraActive: 1","time":"2021-08-03T13:35:03.172Z","v":0} {"name":"eufyLog","hostname":"xxxxxxx","pid":25517,"level":20,"msg":"Front Door Triggered SET EventSnapshotsActive: 1","time":"2021-08-03T13:35:03.172Z","v":0} {"name":"eufyLog","hostname":"xxxxxxx","pid":25517,"level":20,"msg":"Front Door Triggered GET MotionDetected","time":"2021-08-03T13:35:21.368Z","v":0} {"name":"eufyLog","hostname":"xxxxxxx","pid":25517,"level":20,"msg":"Front Door Triggered GET BatteryLevel","time":"2021-08-03T13:35:21.368Z","v":0}

{"name":"eufyLog","hostname":"xxxxxxx","pid":25517,"level":20,"msg":"Front Door Handle Camera Motion: -- false","time":"2021-08-03T13:38:09.612Z","v":0} {"name":"eufyLog","hostname":"xxxxxxx","pid":25517,"level":20,"msg":"Front Door Handle Current battery level: -- 91","time":"2021-08-03T13:38:09.612Z","v":0}

Camera seems to be working ok. Set to "Seen as sensor" in plugin settings.

Doorbell functions may be a outside scope of this issue but 2 observations from this build:

  1. Chime does not play via HomePod (not sure if this is a plugin issue)
  2. I'm aware of the HW limitations around audio (half-duplex etc.), but but is there any possibility of getting an audio stream back to the doorbell from HomeKit? Even on a snapshot vs a live video feed?

Thanks.

Originally posted by @jakobyte in #75 (comment)

Any plan to support "Eufy Smart Lock touch & Wifi"?

Discussed in #132

Originally posted by CapnPicard August 4, 2021
As title says, any plan to support it? At least just a "lock/unlock" button so we can make automation. It's the latest model with builtin wifi so it's always connected to the network.

thanks

Bug vidéo battery doorbell

Hello, I updated to 0.2.3. The chime on the homepod and notifications to indicate that a person has ringed works. But there is always a problem with the video stream. The video stream on the thumbnails does not update, and when we want to see the bell camera, I have a eufy white screen that lasts more than a minute before seeing the video appear. To give an example, I watched the video of my camera last night at 11 p.m. I have a person who rang this morning. When I go to the home app, on the thumbnail of the doorbell camera I still have last night's photo and not the image of the person who rang this morning. In any case, thank you for the work you do, updates arrive regularly and I am extremely happy with them. Good luck for the future

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.