homebridge-ring 14.2.0 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # homebridge-ring
2
2
 
3
+ ## 14.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1706](https://github.com/dgreif/ring/pull/1706) [`8381520`](https://github.com/dgreif/ring/commit/8381520f86d7d7813f670e3887b43d92542f0a41) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - Add support for Ring Chime Pro nightlight
8
+
9
+ - [#1705](https://github.com/dgreif/ring/pull/1705) [`5360c16`](https://github.com/dgreif/ring/commit/5360c16f91d8680a20e68b2dd28e63cc0108c241) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - Block streaming from cameras based on location mode settings. This may prevent you from streaming in cases where you could previously stream in HomeKit but not the Ring app.
10
+
11
+ - [#1707](https://github.com/dgreif/ring/pull/1707) [`5a8c844`](https://github.com/dgreif/ring/commit/5a8c844ffe4adc39e8a517628b26611fac36ef0a) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - Add support for Kidde Ring Smoke + CO Alarm device (comp.bluejay.sensor_bluejay_wsc). Note, this has not been tested and may not be working yet.
12
+
13
+ ### Patch Changes
14
+
15
+ - [`875f024`](https://github.com/dgreif/ring/commit/875f024c5f27c55785d7250bc78eff0fda0a4aa9) Thanks [@dgreif](https://github.com/dgreif)! - Update dependencies
16
+
17
+ - Updated dependencies [[`8381520`](https://github.com/dgreif/ring/commit/8381520f86d7d7813f670e3887b43d92542f0a41), [`875f024`](https://github.com/dgreif/ring/commit/875f024c5f27c55785d7250bc78eff0fda0a4aa9), [`5360c16`](https://github.com/dgreif/ring/commit/5360c16f91d8680a20e68b2dd28e63cc0108c241), [`5a8c844`](https://github.com/dgreif/ring/commit/5a8c844ffe4adc39e8a517628b26611fac36ef0a)]:
18
+ - ring-client-api@14.3.0
19
+
3
20
  ## 14.2.0
4
21
 
5
22
  ### Minor Changes
package/lib/chime.js CHANGED
@@ -11,7 +11,7 @@ export class Chime extends BaseDataAccessory {
11
11
  this.device = device;
12
12
  this.accessory = accessory;
13
13
  this.config = config;
14
- const { Characteristic, Service } = hap, snoozeService = this.getService(Service.Switch, device.name + ' Snooze', 'snooze'), playDingService = this.getService(Service.Switch, device.name + ' Play Ding', 'play-ding'), playMotionService = this.getService(Service.Switch, device.name + ' Play Motion', 'play-motion');
14
+ const { Characteristic, Service } = hap, snoozeService = this.getService(Service.Switch, device.name + ' Snooze', 'snooze'), playDingService = this.getService(Service.Switch, device.name + ' Play Ding', 'play-ding'), playMotionService = this.getService(Service.Switch, device.name + ' Play Motion', 'play-motion'), hasNightlight = device.data.settings.night_light_settings !== undefined;
15
15
  // Snooze Switch
16
16
  this.registerCharacteristic({
17
17
  characteristicType: Characteristic.On,
@@ -82,6 +82,20 @@ export class Chime extends BaseDataAccessory {
82
82
  },
83
83
  requestUpdate: () => device.requestUpdate(),
84
84
  });
85
+ // Nightlight (if supported)
86
+ if (hasNightlight) {
87
+ const nightlightService = this.getService(Service.Lightbulb, device.name + ' Nightlight', 'nightlight');
88
+ this.registerCharacteristic({
89
+ characteristicType: Characteristic.On,
90
+ serviceType: nightlightService,
91
+ getValue: (data) => Boolean(data.settings.night_light_settings?.light_sensor_enabled),
92
+ setValue: (enabled) => {
93
+ logInfo(`${device.name} nightlight ${enabled ? 'enabled' : 'disabled'}`);
94
+ return device.setNightlightEnabled(enabled);
95
+ },
96
+ requestUpdate: () => device.requestUpdate(),
97
+ });
98
+ }
85
99
  // Accessory Information Service
86
100
  this.registerCharacteristic({
87
101
  characteristicType: Characteristic.Manufacturer,
@@ -67,6 +67,7 @@ function getAccessoryClass(device) {
67
67
  case RingDeviceType.CoAlarm:
68
68
  return CoAlarm;
69
69
  case RingDeviceType.SmokeCoListener:
70
+ case RingDeviceType.KiddeSmokeCoAlarm:
70
71
  return SmokeCoListener;
71
72
  case RingDeviceType.BeamsMotionSensor:
72
73
  case RingDeviceType.BeamsSwitch:
@@ -14,7 +14,9 @@ export class SmokeCoListener extends BaseDeviceAccessory {
14
14
  characteristicType: SmokeDetected,
15
15
  serviceType: SmokeSensor,
16
16
  getValue: (data) => {
17
- return data.smoke && data.smoke.alarmStatus === 'active'
17
+ const smokeAlarmStatus = data.smoke?.alarmStatus ??
18
+ data.components?.['alarm.smoke']?.alarmStatus;
19
+ return smokeAlarmStatus === 'active'
18
20
  ? SmokeDetected.SMOKE_DETECTED
19
21
  : SmokeDetected.SMOKE_NOT_DETECTED;
20
22
  },
@@ -23,7 +25,8 @@ export class SmokeCoListener extends BaseDeviceAccessory {
23
25
  characteristicType: CarbonMonoxideDetected,
24
26
  serviceType: CarbonMonoxideSensor,
25
27
  getValue: (data) => {
26
- return data.co && data.co.alarmStatus === 'active'
28
+ const coAlarmStatus = data.co?.alarmStatus ?? data.components?.['alarm.co']?.alarmStatus;
29
+ return coAlarmStatus === 'active'
27
30
  ? CarbonMonoxideDetected.CO_LEVELS_ABNORMAL
28
31
  : CarbonMonoxideDetected.CO_LEVELS_NORMAL;
29
32
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-ring",
3
3
  "displayName": "Ring",
4
- "version": "14.2.0",
4
+ "version": "14.3.0",
5
5
  "description": "Homebridge plugin for Ring doorbells, cameras, security alarm system and smart lighting",
6
6
  "type": "module",
7
7
  "main": "lib/index.js",
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@homebridge/camera-utils": "^3.0.0",
17
- "@homebridge/plugin-ui-utils": "^2.1.0",
18
- "ring-client-api": "14.2.0",
19
- "werift": "0.22.2"
17
+ "@homebridge/plugin-ui-utils": "^2.1.2",
18
+ "ring-client-api": "14.3.0",
19
+ "werift": "0.22.4"
20
20
  },
21
21
  "devDependencies": {
22
22
  "concurrently": "^9.2.1",