ring-client-api 14.0.1 → 14.2.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/README.md +0 -1
- package/lib/api.d.ts +2 -2
- package/lib/api.js +1 -0
- package/lib/ring-intercom.d.ts +6 -6
- package/lib/ring-types.d.ts +5 -3
- package/lib/ring-types.js +2 -0
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -47,7 +47,6 @@ const ringApi = new RingApi({
|
|
|
47
47
|
| `locationModePollingSeconds` | `undefined` (No Polling) | How frequently to poll for location mode updates (in seconds). This is only useful if you are using location modes to control camera settings and want to keep an up-to-date reference of the current mode for each location. Polling is automatically disabled for locations equipped with a Ring Alarm. |
|
|
48
48
|
| `locationIds` | All Locations | Allows you to limit the results to a specific set of locations. This is mainly useful for the [homebridge-ring Plugin](./homebridge), but can also be used if you only care about listening for events at a subset of your locations and don't want to create websocket connections to _all_ of your locations. This will also limit the results for `ringApi.getCameras()` to the configured locations. If this option is not included, all locations will be returned. |
|
|
49
49
|
| `debug` | false | Turns on additional logging. In particular, ffmpeg logging. |
|
|
50
|
-
| `ffmpegPath` | undefined | A custom path to the `ffmpeg` executable. By default, `ffmpeg` will be installed using `ffmpeg-for-homebridge`, and then fall back to using the `PATH` environment variable. |
|
|
51
50
|
| `ffmpegPath` | Uses `ffmpeg-for-homebridge` | A custom path to the `ffmpeg` executable. By default, the static binaries built in [ffmpeg-for-homebridge](https://github.com/oznu/ffmpeg-for-homebridg) will be used. If you prefer to use your own version of ffmpeg, you can pass a complete path, or simply `"ffmpeg"` to use ffmpeg from your `PATH`. |
|
|
52
51
|
| `controlCenterDisplayName` | 'ring-client-api' | This allows you to change the displayed name for the Authorized Device within Control Center in the Ring app |
|
|
53
52
|
| `avoidSnapshotBatteryDrain` | false | Causes snapshots for battery cameras to be fetched at a minimum 10 minute interval to avoid draining the battery. |
|
package/lib/api.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RefreshTokenAuth, SessionOptions } from './rest-client.ts';
|
|
2
2
|
import { RingRestClient } from './rest-client.ts';
|
|
3
3
|
import { Location } from './location.ts';
|
|
4
|
-
import type { BaseStation, BeamBridge, CameraData, ChimeData,
|
|
4
|
+
import type { BaseStation, BeamBridge, CameraData, ChimeData, IntercomHandsetData, OnvifCameraData, ProfileResponse, ThirdPartyGarageDoorOpener, UnknownDevice, UserLocation } from './ring-types.ts';
|
|
5
5
|
import type { AnyCameraData } from './ring-camera.ts';
|
|
6
6
|
import { RingCamera } from './ring-camera.ts';
|
|
7
7
|
import { Subscribed } from './subscribed.ts';
|
|
@@ -35,7 +35,7 @@ export declare class RingApi extends Subscribed {
|
|
|
35
35
|
beamBridges: BeamBridge[];
|
|
36
36
|
onvifCameras: OnvifCameraData[];
|
|
37
37
|
thirdPartyGarageDoorOpeners: ThirdPartyGarageDoorOpener[];
|
|
38
|
-
intercoms:
|
|
38
|
+
intercoms: IntercomHandsetData[];
|
|
39
39
|
unknownDevices: UnknownDevice[];
|
|
40
40
|
}>;
|
|
41
41
|
private listenForDeviceUpdates;
|
package/lib/api.js
CHANGED
package/lib/ring-intercom.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IntercomHandsetData, PushNotification } from './ring-types.ts';
|
|
2
2
|
import type { RingRestClient } from './rest-client.ts';
|
|
3
3
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
4
|
export declare class RingIntercom {
|
|
5
5
|
id: number;
|
|
6
|
-
deviceType: "intercom_handset_audio";
|
|
7
|
-
onData: BehaviorSubject<
|
|
6
|
+
deviceType: "intercom_handset_audio" | "intercom_handset_video";
|
|
7
|
+
onData: BehaviorSubject<IntercomHandsetData>;
|
|
8
8
|
onRequestUpdate: Subject<unknown>;
|
|
9
9
|
onBatteryLevel: import("rxjs").Observable<number | null>;
|
|
10
10
|
onDing: Subject<void>;
|
|
11
11
|
onUnlocked: Subject<void>;
|
|
12
12
|
private initialData;
|
|
13
13
|
private restClient;
|
|
14
|
-
constructor(initialData:
|
|
15
|
-
updateData(update:
|
|
14
|
+
constructor(initialData: IntercomHandsetData, restClient: RingRestClient);
|
|
15
|
+
updateData(update: IntercomHandsetData): void;
|
|
16
16
|
requestUpdate(): void;
|
|
17
|
-
get data():
|
|
17
|
+
get data(): IntercomHandsetData;
|
|
18
18
|
get name(): string;
|
|
19
19
|
get isOffline(): boolean;
|
|
20
20
|
get batteryLevel(): number | null;
|
package/lib/ring-types.d.ts
CHANGED
|
@@ -43,7 +43,9 @@ export declare const RingDeviceType: {
|
|
|
43
43
|
readonly OnvifCamera: "onvif_camera";
|
|
44
44
|
readonly ThirdPartyGarageDoorOpener: "third_party_gdo";
|
|
45
45
|
readonly IntercomHandsetAudio: "intercom_handset_audio";
|
|
46
|
+
readonly IntercomHandsetVideo: "intercom_handset_video";
|
|
46
47
|
readonly WaterValve: "valve.water";
|
|
48
|
+
readonly KiddeSmokeCoAlarm: "comp.bluejay.sensor_bluejay_wsc";
|
|
47
49
|
};
|
|
48
50
|
export type RingDeviceType = (typeof RingDeviceType)[keyof typeof RingDeviceType];
|
|
49
51
|
export declare const RingDeviceCategory: {
|
|
@@ -539,11 +541,11 @@ export interface ThirdPartyGarageDoorOpener {
|
|
|
539
541
|
ring_net_id: null;
|
|
540
542
|
is_sidewalk_gateway: boolean;
|
|
541
543
|
}
|
|
542
|
-
export interface
|
|
544
|
+
export interface IntercomHandsetData {
|
|
543
545
|
id: number;
|
|
544
546
|
description: string;
|
|
545
547
|
device_id: string;
|
|
546
|
-
kind: typeof RingDeviceType.IntercomHandsetAudio;
|
|
548
|
+
kind: typeof RingDeviceType.IntercomHandsetAudio | typeof RingDeviceType.IntercomHandsetVideo;
|
|
547
549
|
function: {
|
|
548
550
|
name: null;
|
|
549
551
|
};
|
|
@@ -905,7 +907,7 @@ export interface PushNotificationDingV2 {
|
|
|
905
907
|
device: {
|
|
906
908
|
e2ee_enabled: boolean;
|
|
907
909
|
id: number;
|
|
908
|
-
kind: RingCameraKind | typeof RingDeviceType.IntercomHandsetAudio;
|
|
910
|
+
kind: RingCameraKind | typeof RingDeviceType.IntercomHandsetAudio | typeof RingDeviceType.IntercomHandsetVideo;
|
|
909
911
|
name: string;
|
|
910
912
|
};
|
|
911
913
|
event: {
|
package/lib/ring-types.js
CHANGED
|
@@ -42,7 +42,9 @@ export const RingDeviceType = {
|
|
|
42
42
|
OnvifCamera: 'onvif_camera',
|
|
43
43
|
ThirdPartyGarageDoorOpener: 'third_party_gdo',
|
|
44
44
|
IntercomHandsetAudio: 'intercom_handset_audio',
|
|
45
|
+
IntercomHandsetVideo: 'intercom_handset_video',
|
|
45
46
|
WaterValve: 'valve.water',
|
|
47
|
+
KiddeSmokeCoAlarm: 'comp.bluejay.sensor_bluejay_wsc',
|
|
46
48
|
};
|
|
47
49
|
export const RingDeviceCategory = {
|
|
48
50
|
Outlets: 1,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ring-client-api",
|
|
3
|
-
"version": "14.0
|
|
3
|
+
"version": "14.2.0",
|
|
4
4
|
"description": "Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -21,28 +21,28 @@
|
|
|
21
21
|
"@eneris/push-receiver": "4.3.0",
|
|
22
22
|
"@homebridge/camera-utils": "^3.0.0",
|
|
23
23
|
"colors": "1.4.0",
|
|
24
|
-
"debug": "^4.4.
|
|
24
|
+
"debug": "^4.4.3",
|
|
25
25
|
"json-bigint": "^1.0.0",
|
|
26
26
|
"rxjs": "^7.8.2",
|
|
27
|
-
"systeminformation": "^5.
|
|
28
|
-
"undici": "^7.
|
|
29
|
-
"uuid": "^
|
|
30
|
-
"werift": "0.22.
|
|
27
|
+
"systeminformation": "^5.27.11",
|
|
28
|
+
"undici": "^7.16.0",
|
|
29
|
+
"uuid": "^13.0.0",
|
|
30
|
+
"werift": "0.22.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/debug": "4.1.12",
|
|
34
34
|
"@types/json-bigint": "^1.0.4",
|
|
35
|
-
"@types/node": "
|
|
36
|
-
"@types/uuid": "
|
|
35
|
+
"@types/node": "24.10.0",
|
|
36
|
+
"@types/uuid": "11.0.0",
|
|
37
37
|
"@types/ws": "^8.18.1",
|
|
38
38
|
"eslint-config-shared": "*",
|
|
39
|
-
"msw": "^2.
|
|
39
|
+
"msw": "^2.12.1",
|
|
40
40
|
"tsconfig": "*",
|
|
41
|
-
"typescript": "5.
|
|
42
|
-
"vitest": "^
|
|
41
|
+
"typescript": "5.9.3",
|
|
42
|
+
"vitest": "^4.0.8"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
|
-
"node": "^20 || ^22"
|
|
45
|
+
"node": "^20 || ^22 || ^24"
|
|
46
46
|
},
|
|
47
47
|
"repository": {
|
|
48
48
|
"type": "git",
|