homebridge-ring 14.0.0-beta.0 → 14.0.0-beta.2

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,27 @@
1
1
  # homebridge-ring
2
2
 
3
+ ## 14.0.0-beta.2
4
+
5
+ ### Major Changes
6
+
7
+ - [`c9919a2`](https://github.com/dgreif/ring/commit/c9919a2a859960d40f2a90587f7a40c8aea4d863) Thanks [@dgreif](https://github.com/dgreif)! - Drop Node 18 support since it has reached end of life
8
+
9
+ ### Patch Changes
10
+
11
+ - [`4d24ccd`](https://github.com/dgreif/ring/commit/4d24ccdbd93f1e761b56c19269c61dbfc46f7331) Thanks [@dgreif](https://github.com/dgreif)! - Use undici for all websocket connections. This fixes https://github.com/dgreif/ring/issues/1605 where websockets were failing to connect for alarms and light hubs. It also allows us to drop the socket.io client, which was a very outdated dependency.
12
+
13
+ - Updated dependencies [[`c9919a2`](https://github.com/dgreif/ring/commit/c9919a2a859960d40f2a90587f7a40c8aea4d863), [`4d24ccd`](https://github.com/dgreif/ring/commit/4d24ccdbd93f1e761b56c19269c61dbfc46f7331)]:
14
+ - ring-client-api@14.0.0-beta.2
15
+
16
+ ## 14.0.0-beta.1
17
+
18
+ ### Patch Changes
19
+
20
+ - [`abb0f04`](https://github.com/dgreif/ring/commit/abb0f041118ad4e55ed5b68a6138a05415e78fcf) Thanks [@dgreif](https://github.com/dgreif)! - Update dependencies
21
+
22
+ - Updated dependencies [[`dbe2c34`](https://github.com/dgreif/ring/commit/dbe2c34e62c192bbfbafec0a0a6562d92e3f9148), [`abb0f04`](https://github.com/dgreif/ring/commit/abb0f041118ad4e55ed5b68a6138a05415e78fcf)]:
23
+ - ring-client-api@14.0.0-beta.1
24
+
3
25
  ## 14.0.0-beta.0
4
26
 
5
27
  ### Major Changes
package/lib/beam.js CHANGED
@@ -3,20 +3,20 @@ import { hap } from "./hap.js";
3
3
  import { BaseDeviceAccessory } from "./base-device-accessory.js";
4
4
  import { logInfo } from 'ring-client-api/util';
5
5
  export class Beam extends BaseDeviceAccessory {
6
+ isLightGroup;
7
+ groupId;
6
8
  device;
7
9
  accessory;
8
10
  config;
9
- isLightGroup;
10
- groupId;
11
11
  constructor(device, accessory, config) {
12
12
  super();
13
13
  this.device = device;
14
14
  this.accessory = accessory;
15
15
  this.config = config;
16
16
  this.isLightGroup =
17
- this.device.data.deviceType === RingDeviceType.BeamsLightGroupSwitch;
18
- this.groupId = this.device.data.groupId;
19
- const { Characteristic, Service } = hap, { MotionSensor } = Service, { data: { deviceType }, } = this.device;
17
+ device.data.deviceType === RingDeviceType.BeamsLightGroupSwitch;
18
+ this.groupId = device.data.groupId;
19
+ const { Characteristic, Service } = hap, { MotionSensor } = Service, { data: { deviceType }, } = device;
20
20
  if (deviceType !== RingDeviceType.BeamsMotionSensor) {
21
21
  this.registerCharacteristic({
22
22
  characteristicType: Characteristic.On,
@@ -24,10 +24,6 @@ function getSessionConfig(srtpOptions) {
24
24
  };
25
25
  }
26
26
  class StreamingSessionWrapper {
27
- streamingSession;
28
- prepareStreamRequest;
29
- ringCamera;
30
- start;
31
27
  audioSsrc = hap.CameraController.generateSynchronisationSource();
32
28
  videoSsrc = hap.CameraController.generateSynchronisationSource();
33
29
  audioSrtp = generateSrtpOptions();
@@ -35,6 +31,10 @@ class StreamingSessionWrapper {
35
31
  audioSplitter = new RtpSplitter();
36
32
  videoSplitter = new RtpSplitter();
37
33
  transcodedAudioSplitter = new RtpSplitter();
34
+ streamingSession;
35
+ prepareStreamRequest;
36
+ ringCamera;
37
+ start;
38
38
  constructor(streamingSession, prepareStreamRequest, ringCamera, start) {
39
39
  this.streamingSession = streamingSession;
40
40
  this.prepareStreamRequest = prepareStreamRequest;
@@ -226,10 +226,10 @@ class StreamingSessionWrapper {
226
226
  }
227
227
  }
228
228
  export class CameraSource {
229
- ringCamera;
230
229
  controller;
231
230
  sessions = {};
232
231
  cachedSnapshot;
232
+ ringCamera;
233
233
  constructor(ringCamera) {
234
234
  this.ringCamera = ringCamera;
235
235
  this.controller = new hap.CameraController({
package/lib/camera.js CHANGED
@@ -6,11 +6,11 @@ import { TargetValueTimer } from "./target-value-timer.js";
6
6
  import { delay, logError, logInfo } from 'ring-client-api/util';
7
7
  import { firstValueFrom } from 'rxjs';
8
8
  export class Camera extends BaseDataAccessory {
9
+ inHomeDoorbellStatus;
10
+ cameraSource;
9
11
  device;
10
12
  accessory;
11
13
  config;
12
- inHomeDoorbellStatus;
13
- cameraSource;
14
14
  constructor(device, accessory, config) {
15
15
  super();
16
16
  this.device = device;
package/lib/intercom.js CHANGED
@@ -3,11 +3,11 @@ import { BaseDataAccessory } from "./base-data-accessory.js";
3
3
  import { logError, logInfo } from 'ring-client-api/util';
4
4
  import { map, throttleTime } from 'rxjs/operators';
5
5
  export class Intercom extends BaseDataAccessory {
6
+ unlocking = false;
7
+ unlockTimeout;
6
8
  device;
7
9
  accessory;
8
10
  config;
9
- unlocking = false;
10
- unlockTimeout;
11
11
  constructor(device, accessory, config) {
12
12
  super();
13
13
  this.device = device;
@@ -17,11 +17,11 @@ function getStateFromMode(mode) {
17
17
  }
18
18
  }
19
19
  export class LocationModeSwitch extends BaseAccessory {
20
+ targetState;
21
+ device;
20
22
  location;
21
23
  accessory;
22
24
  config;
23
- targetState;
24
- device;
25
25
  constructor(location, accessory, config) {
26
26
  super();
27
27
  this.location = location;
package/lib/lock.js CHANGED
@@ -15,10 +15,10 @@ function getCurrentState({ locked }) {
15
15
  }
16
16
  }
17
17
  export class Lock extends BaseDeviceAccessory {
18
+ targetState;
18
19
  device;
19
20
  accessory;
20
21
  config;
21
- targetState;
22
22
  constructor(device, accessory, config) {
23
23
  super();
24
24
  this.device = device;
@@ -110,10 +110,10 @@ function getAccessoryClass(device) {
110
110
  return null;
111
111
  }
112
112
  export class RingPlatform {
113
+ homebridgeAccessories = {};
113
114
  log;
114
115
  config;
115
116
  api;
116
- homebridgeAccessories = {};
117
117
  constructor(log, config, api) {
118
118
  this.log = log;
119
119
  this.config = config;
@@ -6,10 +6,10 @@ function isValidNightModeBypass(mode) {
6
6
  return mode && (mode === 'all' || mode === 'some');
7
7
  }
8
8
  export class SecurityPanel extends BaseDeviceAccessory {
9
+ alarmStates;
9
10
  device;
10
11
  accessory;
11
12
  config;
12
- alarmStates;
13
13
  constructor(device, accessory, config) {
14
14
  super();
15
15
  this.device = device;
package/lib/thermostat.js CHANGED
@@ -5,10 +5,10 @@ import { logDebug, logError, logInfo } from 'ring-client-api/util';
5
5
  import { BaseDeviceAccessory } from "./base-device-accessory.js";
6
6
  import { hap } from "./hap.js";
7
7
  export class Thermostat extends BaseDeviceAccessory {
8
+ onTemperature;
8
9
  device;
9
10
  accessory;
10
11
  config;
11
- onTemperature;
12
12
  constructor(device, accessory, config) {
13
13
  super();
14
14
  this.device = device;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-ring",
3
3
  "displayName": "Ring",
4
- "version": "14.0.0-beta.0",
4
+ "version": "14.0.0-beta.2",
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,19 +14,19 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@homebridge/camera-utils": "^3.0.0",
17
- "@homebridge/plugin-ui-utils": "^2.0.0",
18
- "ring-client-api": "14.0.0-beta.0",
19
- "werift": "0.21.6"
17
+ "@homebridge/plugin-ui-utils": "^2.0.2",
18
+ "ring-client-api": "14.0.0-beta.2",
19
+ "werift": "0.22.1"
20
20
  },
21
21
  "devDependencies": {
22
22
  "concurrently": "^9.1.2",
23
23
  "eslint-config-shared": "*",
24
- "homebridge": "1.8.5",
24
+ "homebridge": "1.9.0",
25
25
  "tsconfig": "*",
26
- "typescript": "5.7.3"
26
+ "typescript": "5.8.3"
27
27
  },
28
28
  "engines": {
29
- "node": "^18 || ^20 || ^22",
29
+ "node": "^20 || ^22",
30
30
  "homebridge": ">=1.4.0 || ^2.0.0-beta.0"
31
31
  },
32
32
  "repository": {