@mega-yfue/eufy-sdk 0.6.0-beta.32 → 0.6.0-beta.34
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.
|
@@ -263,6 +263,8 @@ export type CameraActions = Surface<typeof CAMERA_MEMBERS> & {
|
|
|
263
263
|
};
|
|
264
264
|
/** T8442 has a binary night-vision wire, unlike cameras with the three-mode 1277 control. */
|
|
265
265
|
declare function isT8442(ctx: AvailabilityContext): boolean;
|
|
266
|
+
/** A C30/C31 has reported no 1716 and no doorbell LED write was tried on it, so it keeps 1045. */
|
|
267
|
+
declare const doorbellLed: (ctx: AvailabilityContext) => boolean;
|
|
266
268
|
/**
|
|
267
269
|
* Every `camera` feature, declared once. The property schema, the typed getters, the derived setters,
|
|
268
270
|
* the intent routes, the media methods and the descriptions all come out of this table.
|
|
@@ -566,7 +568,7 @@ export declare const CAMERA_MEMBERS: {
|
|
|
566
568
|
readonly readAvailable: (ctx: AvailabilityContext) => boolean;
|
|
567
569
|
readonly readAliases: readonly [{
|
|
568
570
|
readonly paramType: 1716;
|
|
569
|
-
readonly available:
|
|
571
|
+
readonly available: typeof doorbellLed;
|
|
570
572
|
}];
|
|
571
573
|
readonly requiresRead: true;
|
|
572
574
|
readonly description: "Camera status LED. Video doorbells report the same state under their button-ring LED parameter.";
|
|
@@ -602,9 +604,10 @@ export declare const CAMERA_MEMBERS: {
|
|
|
602
604
|
timeoutMs?: number;
|
|
603
605
|
skipKeyframes?: number;
|
|
604
606
|
} | undefined) => Promise<Buffer<ArrayBufferLike>>)>;
|
|
605
|
-
/** The T8530 serves its live feed as a Readable too
|
|
607
|
+
/** The T8530 serves its live feed as a Readable too. */
|
|
606
608
|
readonly openReadable: import("./members.js").ProvidedMember<"media", false | ((opts?: Parameters<NonNullable<MediaProvider["openReadable"]>>[0]) => Promise<import("node:stream").Readable>) | undefined>;
|
|
607
609
|
readonly recordFragments: import("./members.js").ProvidedMember<"media", false | ((opts?: Parameters<NonNullable<MediaProvider["recordFragments"]>>[0]) => import("../../core/contracts.js").FragmentRecordingHandle) | undefined>;
|
|
610
|
+
/** A T8530 is offered the download behind a HomeBase 3 alone. */
|
|
608
611
|
readonly downloadRecording: import("./members.js").ProvidedMember<"media", false | ((opts: Parameters<NonNullable<MediaProvider["downloadRecording"]>>[0]) => Promise<import("../../core/contracts.js").RecordingDownload>) | undefined>;
|
|
609
612
|
/**
|
|
610
613
|
* Push audio from the host to this camera's speaker. Gated on the **speaker** param specifically —
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type Surface } from "./members.js";
|
|
2
|
-
import type { CapabilityModule } from "./types.js";
|
|
2
|
+
import type { AvailabilityContext, CapabilityModule } from "./types.js";
|
|
3
|
+
/** No doorbell write has been tried on a C30/C31, so only their ring event binds. */
|
|
4
|
+
declare const writable: (ctx: AvailabilityContext) => boolean;
|
|
3
5
|
/**
|
|
4
6
|
* The P2P **feature-command ids** this doorbell capability drives. Capability-owned wire vocabulary
|
|
5
7
|
* (transport forwards `cmd.param` opaquely; full id→name catalog in the generated
|
|
@@ -191,6 +193,7 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
191
193
|
*/
|
|
192
194
|
readonly chimeSwitch: {
|
|
193
195
|
readonly param: 1702;
|
|
196
|
+
readonly available: typeof writable;
|
|
194
197
|
readonly type: "bool";
|
|
195
198
|
readonly kind: "boolean";
|
|
196
199
|
readonly provenance: "verified";
|
|
@@ -203,6 +206,7 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
203
206
|
*/
|
|
204
207
|
readonly mechanicalChimeSwitch: {
|
|
205
208
|
readonly param: 1703;
|
|
209
|
+
readonly available: typeof writable;
|
|
206
210
|
readonly type: "bool";
|
|
207
211
|
readonly kind: "boolean";
|
|
208
212
|
readonly provenance: "verified";
|
|
@@ -212,6 +216,7 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
212
216
|
/** Same reasoning and the same capture session as {@link DOORBELL_MEMBERS.mechanicalChimeSwitch}. */
|
|
213
217
|
readonly wdrSwitch: {
|
|
214
218
|
readonly param: 1704;
|
|
219
|
+
readonly available: typeof writable;
|
|
215
220
|
readonly type: "bool";
|
|
216
221
|
readonly kind: "boolean";
|
|
217
222
|
readonly provenance: "verified";
|
|
@@ -242,6 +247,7 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
242
247
|
*/
|
|
243
248
|
readonly dingdongVolume: {
|
|
244
249
|
readonly param: 1717;
|
|
250
|
+
readonly available: typeof writable;
|
|
245
251
|
readonly type: "number";
|
|
246
252
|
readonly unit: "%";
|
|
247
253
|
readonly kind: "percent";
|
|
@@ -259,6 +265,7 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
259
265
|
*/
|
|
260
266
|
readonly dingdongRingtone: {
|
|
261
267
|
readonly param: 1718;
|
|
268
|
+
readonly available: typeof writable;
|
|
262
269
|
readonly type: "number";
|
|
263
270
|
readonly kind: "enum";
|
|
264
271
|
readonly enumValues: Record<number, string>;
|
|
@@ -313,7 +320,9 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
313
320
|
* reads {@link DOORBELL_MEMBERS.videoQuality} and {@link DOORBELL_MEMBERS.highCompressionEncoding}
|
|
314
321
|
* and passes what it wants, instead of the SDK guessing from a stale copy.
|
|
315
322
|
*/
|
|
316
|
-
readonly setVideoQuality: import("./members.js").MethodMember<(quality: DoorbellVideoQualityValue, highCompression: boolean) => Promise<void
|
|
323
|
+
readonly setVideoQuality: import("./members.js").MethodMember<(quality: DoorbellVideoQualityValue, highCompression: boolean) => Promise<void>> & {
|
|
324
|
+
available: (ctx: import("./types.js").CommandContext) => boolean;
|
|
325
|
+
};
|
|
317
326
|
/**
|
|
318
327
|
* A config blob the device reports WHOLE, so it is typed `string` and handed back unparsed — three
|
|
319
328
|
* settings live inside it (motion notifications, ring notifications, notification style) and the SDK
|
|
@@ -339,7 +348,9 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
339
348
|
*/
|
|
340
349
|
readonly playQuickResponse: import("./members.js").MethodMember<(voiceId: number, opts?: {
|
|
341
350
|
engage?: boolean;
|
|
342
|
-
}) => Promise<void
|
|
351
|
+
}) => Promise<void>> & {
|
|
352
|
+
available: (ctx: import("./types.js").CommandContext) => boolean;
|
|
353
|
+
};
|
|
343
354
|
/**
|
|
344
355
|
* Fetch the doorbell's quick-response list — a P2P request/reply query that returns data, so it
|
|
345
356
|
* exists only on a device bound to a media provider that offers one.
|
|
@@ -352,3 +363,4 @@ export declare const DOORBELL_MEMBERS: {
|
|
|
352
363
|
}) => Promise<QuickResponse[]>) | undefined>;
|
|
353
364
|
};
|
|
354
365
|
export declare const DOORBELL: CapabilityModule;
|
|
366
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mega-yfue/eufy-sdk",
|
|
3
|
-
"version": "0.6.0-beta.
|
|
3
|
+
"version": "0.6.0-beta.34",
|
|
4
4
|
"description": "One typed TypeScript client for the Anker eufy v6 cloud — capability-driven devices, realtime events over P2P/MQTT/push, and live media",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "mega-yfue",
|