Skip to content

Releases: tsightler/ring-mqtt

Release v5.5.1

25 Jul 16:22
c437d89
Compare
Choose a tag to compare

v5.5.1

New Features

  • Improved support for HEVC mode cameras
    While the initial support for HEVC required local transcoding, this update uses a different streaming API that is able to negotiates down to H.264/AVC for these cameras on-the-fly which means HEVC enabled cameras should now work fine even on lower-performance hardware like RPi3/4 devices. Hopefully this new API does not break streaming for other cases.

Other Changes

  • Use a non-cached snapshot for all cases
  • Implement multiple retries if initial request for snapshot update fails

Dependency Updates

  • go2rtc v1.6.2

v5.5.0

New Features

  • Initial support for HEVC mode cameras
    Ring is actively enabling the H.265/HEVC codec on some newer camera models and the Ring Andriod-app based API used by ring-mqtt actively rejects any other protocol for these cameras. The Ring web based dashboard uses a different API which appears to support negotiating H.264/AVC with these devices as a fallback but, so far, I haven't been able to get it to work correctly with ring-mqtt, hopefully that will be resolved eventually.

    Passing HEVC through unchanged presents too many compatibility issues with downstream devices to be practical so, for now, ring-mqtt will attempt to transcode these streams back to H.264/AVC on-the-fly. This provides wide compatibiltiy with downstream devices, but at the cost of significantly increased CPU usage during streaming.

    Ideally, over time, more browsers will add H.265/HEVC support to their WebRTC implementations so passthrough will become a viable option, but, for now, transcoding provides a quick and dirty hack that will at least allow these cameras work in many cases. Note that if you are running on a RPi3 this will probably not work, and an RPi4 will barely be able to support a single stream.

  • Add switch to toggle motion warning for cameras that support this feature

  • Implement new logic for entry/exit delay (inspired by @amura11):

    • Exit delay now supports both home and away modes
    • Depends on actual events from Ring API vs previous blind wait function
    • Alarm attributes now include "exitSecondsLeft" and "entrySecondsLeft" which will count down during entry/exit delay.
    • Alarm attributes now include "targetMode" so it's possible to know what mode alarm is attempting to enter even while exit delay is in progress. For entry delay this attribute makes it possoble to know what mode the alarm was in when the entry delay was triggered. This allows creating different automations for entry/exit delays based on the home and away arming modes.

Bugs Fixed

  • Fix an issue detecting subscriptions and suppress spurrious error messages from cameras in case of accounts with no paid subscription.
  • Request non-cached snapshots for motion events on high-powered cameras even if no UUID is available (e.g. no subscription).
  • Make stream source and still image URL attributes work even if calls to heath check API fail.

Dependency Updates

  • go2rtc v1.6.0
  • werift v0.18.4

Release v5.4.0

24 Jun 18:22
411c9ad
Compare
Choose a tag to compare

v5.4.0

This release is mostly to get back to stable ring-client-api version with final fixes for camera notification issues, however, managed to sneak in one highly requested feature and a few minor improvements as well.

New Features

  • Alarm control panel now includes lastArmedBy/lastDisarmedBy attributes making it possible to determine who/what triggered an arm/disarm event.

Other Changes

  • Device Name/System ID is now displayed in the Web UI and CLI authentication tools providing easier identification of the corresponding device in the Authorized Devices section of the Ring Control Center.
  • Camera event management has been completely reworked using a new event management API. Primary goal was to avoid API throttling issues that could occur with large numbers of cameras (>50% reduction in API calls, even more during startup).

Bug Fixed

  • Fixed an issue where motion snapshots might return an cached snapshot instead
  • Fixed an issue with panic switches where a burglar alarm could trigger both police and fire panic states.

Dependency Updates

  • ring-client-api v11.8.0
  • bashio v0.15.0

Release v5.3.0

04 Jun 02:25
55bdc1b
Compare
Choose a tag to compare

v5.3.0

The primary goal of this update is to address issues with camera/doorbell/intercom notifications that have impacted many users due to changes in the Ring API for push notifications. This version uses a new upstream ring-client-api that persist the FCM token and hardware ID across restarts which will hopefully address these issues, however, it's important to note that addressing this will likely require users to re-authenticate following the instructions below:

Steps to fix notifications
If you have cameras/doorbells/intercoms and are not receiving notifications you will need to follow these steps to re-establish authentication with the Ring API:

  1. Stop the addon and verify that it is no longer running
  2. In the official Ring App or using the Ring web based dashboard go to the Control Center
  3. Click on Authorized Client Devices
  4. In the list of authorized devices find and remove all devices associated with ring-mqtt, these devices will have names like the following:
    • ring-mqtt
    • ring-mqtt-addon
    • Device name not found
    • Unknown device
  5. Once you have removed all of these devices restart the addon.
  6. Review the addon logs and it should show that the existing token is invalid and you need to use the web UI to create a new one
  7. Use the addon web UI to authenticate with Ring and re-establish the connection with the Ring API
  8. Notifications should now be working!

New Features

  • Added support to enable/disable motion detection for cameras

Fixed Bugs

  • Use persistent FCM tokens so that push notifications survive restarts
  • Remove doubled-up devices in Ring Control Center, including one "unknown device" when authenticating
  • Fix random crash of go2rtc process which impacted some users (fixed by bumping go2rtc to v1.5.0)

Dependency Updates

  • ring-client-api v11.8.0-beta.0
  • werift v0.18.3
  • rxjs v7.8.1
  • go2rtc v1.5.0
  • s6-overlay v3.1.5.0