ring: Ring BridgeERRORError: Cannot get schema for 'EcDsaSignature' target at AsnSchemaStorage.get

Bug Report

Describe the Bug

When receiving a notification or clicking the doorbell in HomeKit I get the message “This camera is not responding”, I do get notifications at the correct time when sensing motion or a doorbell press however the view of the doorbell always fails in HomeKit. The reason I feel this is not related to Live Streaming is because I do see the messages in the log:

Preparing Live Stream for Front Door Stream Prepared for Front Door (0.716s) Activating stream for Front Door (0.831s)

To Reproduce

Steps to reproduce the behavior:

  • Click on a notification received from doorbell
  • Error OR
  • Click on doorbell view within HomeKit app
  • Error

Expected behavior

When clicking on a notification or clicking on the doorbell view within HomeKit I expect the live stream to activate and present.

Screenshots/Logs

IMG_2434

21/11/2022, 11:03:16Ring BridgeERRORError: Cannot get schema for 'EcDsaSignature' target
    at AsnSchemaStorage.get (/var/lib/hoobs/ringbridge/node_modules/@peculiar/webcrypto/node_modules/@peculiar/asn1-schema/build/cjs/schema.js:18:19)
    at Function.fromASN (/var/lib/hoobs/ringbridge/node_modules/@peculiar/webcrypto/node_modules/@peculiar/asn1-schema/build/cjs/parser.js:26:52)
    at Function.parse (/var/lib/hoobs/ringbridge/node_modules/@peculiar/webcrypto/node_modules/@peculiar/asn1-schema/build/cjs/parser.js:16:26)
    at Function.sign (/var/lib/hoobs/ringbridge/node_modules/@peculiar/webcrypto/build/webcrypto.js:1580:50)
    at EcdsaProvider.onSign (/var/lib/hoobs/ringbridge/node_modules/@peculiar/webcrypto/build/webcrypto.js:1740:25)
    at EcdsaProvider.sign (/var/lib/hoobs/ringbridge/node_modules/webcrypto-core/build/webcrypto-core.js:160:28)
    at SubtleCrypto.sign (/var/lib/hoobs/ringbridge/node_modules/webcrypto-core/build/webcrypto-core.js:1405:39)
    at Function.create (/var/lib/hoobs/ringbridge/node_modules/@peculiar/x509/build/x509.cjs.js:1815:35)
    at Function.CipherContext.createSelfSignedCertificateWithKey (/var/lib/hoobs/ringbridge/node_modules/dtls/src/context/cipher.ts:108:18)
    at RTCDtlsTransport.setupCertificate (/var/lib/hoobs/ringbridge/node_modules/werift/src/transport/dtls.ts:73:9)
    at ensureCert (/var/lib/hoobs/ringbridge/node_modules/werift/src/peerConnection.ts:1251:34)
    at RTCPeerConnection.ensureCerts (/var/lib/hoobs/ringbridge/node_modules/werift/src/peerConnection.ts:1259:7)
    at RTCPeerConnection.createAnswer (/var/lib/hoobs/ringbridge/node_modules/werift/src/peerConnection.ts:1264:5)
    at WeriftPeerConnection.createAnswer (/var/lib/hoobs/ringbridge/node_modules/ring-client-api/lib/streaming/peer-connection.js:117:24)
    at WebrtcConnection.handleMessage (/var/lib/hoobs/ringbridge/node_modules/ring-client-api/lib/streaming/webrtc-connection.js:29:32)
21/11/2022, 11:03:17Ring BridgeRingStopped Live Stream for Front Door
21/11/2022, 11:03:17Ring BridgeRingconnectionStateChange: closed
21/11/2022, 11:03:17Ring BridgeRingiceConnectionStateChange: closed
21/11/2022, 11:03:17Ring BridgeRingCall ended before answered

Additional context

Add any other context about the problem here.

Homebridge Ring Config

Post homebridge-ring platform config without sensitive information

{
    "debug": true,
    "hideUnsupportedServices": true,
    "hideInHomeDoorbellSwitch": true,
    "hideAlarmSirenSwitch": true,
    "hideCameraSirenSwitch": true,
    "refreshToken": "XXXXXXXX",
    "hideCameraLight": true,
    "hideCameraMotionSensor": false,
    "hideLightGroups": true,
    "platform": "Ring"
}

Environment

  • OS: Raspbian
  • Node.js: v16.16.0
  • NPM: 8.11.0
  • homebridge-ring: 11.6.0
  • homebridge: 1.5.0
  • hoobs: 4.2.8

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 33 (6 by maintainers)

Most upvoted comments

Definitely the node upgrade to version 18.x is the fix. The cache clearing is a good idea, but maybe not essential. The proper update/reinstall of the plugin into the same bridge as the original is also important.

Was able to resolve this using previous suggestion.

Tried Hoobs App / Bridges / (Bridge) / Cache / Clear (this didn’t work) Uninstalled Ring Plugin

Through Windows Terminal, connected and ran:

sudo npm install npm@latest -g  #install the most recent npm update.
npm -v  # to validate that the npm version was updated correctly.
sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Reinstalled the Ring Plugin. This fixed it.

I am not sure if it was the updates or the uninstall/reinstall of plugin or cache clearing, but it is working properly now.

I don’t see where the cache clearing process is documented. I’m not certain it’s necessary, but does seem relevant. One clears the cache by going to the bridges (http://[hoobs IP or hoobs.local]/bridges), click the Ring bridge (or bridge requiring cache clearing), click the Cache button, click the Clear button.

I think the key for this repair is to install the update into the existing bridge that the Ring plugin was installed into before. The default is to create a new bridge for the installation, even though you’ve selected the update from list.

There’s no method to update specific Debian packages in the Hoobs interface. I think they were pretty proud of updating to node v16 (“updated dependencies!”) when they released version 4.3.0 of hoobs. Seems like 16.19.1 is the version that comes with the LTS Debian (5.10.136-1) being used by Hoobs.

Any reference on how to safely update ? I’ve found some ancient (2020) snippet on how to wget and bind node and hoobs, but it looks pretty arcane, and like it’s going to reinstall hoobs completely.

wget -q -O - http://bit.ly/get-hoobs | sudo bash /dev/stdin --node lts && sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/node

That installed the current version (16.19.1), and had some errors, so I restored the snapshot. Seems like it would have the same errors if I specified a different node version, and maybe the hoobsians would have used a newer node version if they could?

Just updated to 11.7.2 and am experiencing the same issue. Downgrading back to 11.7.1, which was previously working prior to the update, now also throws the error. Thumbnails update in HomeKit, but stream will not activate.

Just reporting that I get the same error after the last update and can no longer access live video from the cameras.