Skip to content

Releases: tsightler/ring-mqtt

Release v5.6.7

19 Jun 02:33
26775fc
Compare
Choose a tag to compare

v5.6.7

This release is intended to address an ongoing instability with websocket connections by using a newer API endpoint for requesting tickets.

Dependency Updates

  • ring-client-api v12.1.1

Release v5.6.6

14 Jun 18:57
2494f6f
Compare
Choose a tag to compare

v5.6.6

This release reverts go2rtc to v1.9.2 to address streaming stability issues caused by exec handling changes that were implemented in go2rtc v1.9.3.

Dependency Updates*

  • aedes v0.51.2
  • debug v4.3.5

Release v5.6.5

08 Jun 13:44
bacd78c
Compare
Choose a tag to compare

This release is intended to address the current brokenness of HA 2024.6.x by forcing the alarm control panel entity discovery to set code_arm_required = false even when no code is configured. While I believe this should be fixed in upstream HA, I have no influence over if/when that will happen and this workaround should have no negative impact on older versions.

Dependency Updates

  • go2rtc v1.9.3
  • mqtt v5.7.0
  • werift v0.19.3

Release v5.6.4

19 Apr 01:29
af7841c
Compare
Choose a tag to compare

v5.6.4

Minor Enhancements

  • New attributes alarmClearedBy/alarmClearedTime are updated when alarm is in triggered state and is cleared via the keypad or app.
  • Some entities have now have categories assigned so that they appear in Configuration and Diagnostic categories in the Home Assistant UI. This also means that these entities will not be automatically included in automatically generated views, for example, when exporting devices from Home Assitant to another platform like HomeKit, although you can still manually choose to export those entities if desired. Thanks to @xannor for initial PR for this feature.

Bugs fixed

  • Fixed an issue where the alarm state would lose syncronization if alarm was disarmed but a fire/co alarm was triggered and then cleared. Thanks to @iptvcld for reporting this issue and providng the details required to reproduce.

Dependcy Updates

  • Alpine Linux 3.18 (Docker image)
  • go2rtc v1.8.5
  • ring-client-api v12.1.0
  • werift v0.19.1
  • aedes v0.51.0
  • mqtt v5.5.2
  • express v4.19.2
  • S6 Overlay v3.1.6.2
  • bashio v0.16.2

Release v5.6.3

22 Sep 16:53
cc4746e
Compare
Choose a tag to compare

v5.6.3

Minor Enhancements

  • lastArmBy/lastDisarmBy now reports correct names for guest users as well as shared users
  • Locks now support "LOCKING" and "UNLOCKING" status which provides for a richer experience in the Home Assistant UI
  • HVAC enhanced to use new "supported_features" capability in Home Assistant >2023.9. This allows ring-mqtt to inform Home Assistant which arming modes are supported thus suppressing unavailable arming modes from being visible in the Home Assistant user interface.

Other Changes

  • Remove auxillary heat implementaion which was deprecated in Home Assistant 2023.9. Auxillary/emergency heat is still available but is now exposed as a preset mode instead (behavior is duplicated from the Z-wave thermostat implementation).
  • Suppress hass warnings from go2rtc (cosmetic only)

Dependcy Updates

  • go2rtc v1.7.1
  • ring-client-api v12.0.1

Release v5.6.2

03 Sep 18:34
a50d535
Compare
Choose a tag to compare

v5.6.2

Bugs Fixed

  • Fix crash when discovering Ring Bridge due to missing operator

v5.6.1

New Features

  • Add support for configuring chirp tones for Ring binary sensors
  • Return support for Ring Bridge which was temporarily removed in v5.6.0 due to phantom devices for some users
  • Snapshot camera attributes now include the snapshot type of the current snapshot in addition to the previous timestamp attribute. Snapshot types can be any of "motion", "ding", "interval" or "on-demand". This can assist with automation cases where a specific snapshot type is preffered. However, note that no snapshot is ever guarateed and it can sometimes take multiple seconds to request and return a snapshot so, as an example, if the automation is triggered by motion, but then waits for a motion snapshot, a timeout should also be included to keep the automation from waiting forever if for some reason the snapshot could not be retrieved.

Dependcy Updates

  • go2rtc v1.7.0

v5.6.0

New Features

  • Cameras now include a button entity to request an on-demand snapshot. This was a much requested feature and is intended primarily to allow snapshots to be triggered from automations (in Home Assistant this can be doen via the button press service). Note that on-demand snapshots are limited to no more than one request every 10 seconds, more frequent requests will be logged, but otherwise ignored. Also, low-power Ring cameras are unable to take snapshots while recording so there is no guarantee that a request for a snapshot on these cameras will be possible.
  • For doorbells it's now possible to get snapshots from ding events in addition to motion events and new snapshot modes have been introduced to select which combination of ding, motion, and interval snapshots are desired. Ding snapshots are enabled by default for both Auto and All modes, but note that battery cameras will likely require a Ring subscription to get reliable snapshots from dings, just like motion.
  • Add support to enable/disable chirps on Ring keypads

Other Changes

  • Adapt MQTT discovery messages to new entity naming guidelines introduced in Home Assistant 2023.8
  • Minor tweak for tamper sensor to increase compatibility with OpenHAB (thanks to @zolakk for the PR)
  • Merge and simplify WebRTC connection code and include recent minor updates for better reliability
  • Try to capture and log null responses during web token generation

Dependcy Updates

  • ring-client-api v12.0.0
  • aedes v0.50.0
  • werift 0.18.5

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