ring: Error: Cannot get schema for 'Array' target when streaming
Bug Report
Describe the Bug
On all versions >9.24.0 the error below appears as soon as I start a live stream. Camera then shows as unavailable in Homekit. With version 9.24.0 everything works fine.To Reproduce
Steps to reproduce the behavior:
- Start Homebridge
- Attempt to livestream from Ring doorbell camera
- See error
Expected behavior
Live stream is showingScreenshots/Logs
[5/22/2022, 11:47:19 AM] [Ring] Preparing Live Stream for Haustür
[5/22/2022, 11:47:20 AM] [Ring] Stream Prepared for Haustür (0.681s)
[5/22/2022, 11:47:20 AM] [Ring] Activating stream for Haustür (0.73s)
[5/22/2022, 11:47:21 AM] [Ring] iceConnectionStateChange: completed
[5/22/2022, 11:47:21 AM] Error: Cannot get schema for 'Array' target
at AsnSchemaStorage.get (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/asn1-schema/build/cjs/schema.js:18:19)
at Function.toASN (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/asn1-
schema/build/cjs/serializer.js:21:48)
at Function.toAsnItem (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/asn1-schema/build/cjs/serializer.js:140:33)
at Function.toASN (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/asn1-schema/build/cjs/serializer.js:46:46)
at Function.serialize (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/asn1-schema/build/cjs/serializer.js:14:21)
at Function.serialize (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/asn1-schema/build/cjs/convert.js:10:43)
at Function.create (/homebridge/node_modules/homebridge-ring/node_modules/@peculiar/x509/build/x509.cjs.js:1740:43)
at Function.CipherContext.createSelfSignedCertificateWithKey (/homebridge/node_modules/homebridge-ring/node_modules/dtls/src/context/cipher.ts:111:18)
at RTCDtlsTransport.setupCertificate (/homebridge/node_modules/homebridge-ring/node_modules/werift/src/transport/dtls.ts:71:9)
at ensureCert (/homebridge/node_modules/homebridge-ring/node_modules/werift/src/peerConnection.ts:1065:34)
[5/22/2022, 11:47:21 AM] Got SIGTERM, shutting down Homebridge...
[5/22/2022, 11:47:21 AM] [Ring] Stopped Live Stream for Haustür
[5/22/2022, 11:47:21 AM] [Ring] connectionStateChange: closed
[5/22/2022, 11:47:21 AM] [Ring] iceConnectionStateChange: closed
Additional context
Latest docker container image is downloaded and in use. hb-service update-node in image results inℹ Node.js v16.15.0 already up-to-date.
Same issue was mentioned in bug #929. Here the solution apparently was to update Node.js. However, on the latest oznu-homebridge docker image, the latest Node.js is already in use.
Homebridge Ring Config
Post homebridge-ring platform config without sensitive information
"refreshToken": "XXX",
"avoidSnapshotBatteryDrain": false,
"debug": true,
"platform": "Ring"
Environment
- OS: oznu-homebridge Docker image on Synology NAS
- Node.js: 16.15.0
- NPM: 8.5.5
- homebridge-ring: 11.0.2
- homebridge: 1.4.1
- hoobs: N/A
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 17 (4 by maintainers)
I’ve been suffering with this issue since the update to 10.x. As above, putting the Ring plugin into a child bridge has solved the issue. No idea why this fixes it, but thanks!
FYI: after updating to the latest oznu/homebridge docker container (which includes homebridge 1.5.0), the latest 11.0.5 plugin finally works. 😃
@washcroft @ashishgururani can you please confirm as well? Then I will close the ticket.
@dgreif Yes. I have also updated this dependent library
@dgreif The value of the argument value of the dependent library may be incorrect, or it may be a bug in the dependent library. Werift uses an older version of the library, so updates are costly and require modification work.
I will release a version of werift that includes code to output the arguments to the function to the console. Can you use that to identify the arguments value?