@mega-yfue/eufy-sdk 0.5.0-beta.78 → 0.5.0-beta.79

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/dist/index.js CHANGED
@@ -6987,6 +6987,28 @@ var PTZ = {
6987
6987
 
6988
6988
  // dist/model/capabilities/doorbell.js
6989
6989
  import { setTimeout as sleep } from "node:timers/promises";
6990
+ var DOORBELL_MODELS = /* @__PURE__ */ new Set([
6991
+ "T820",
6992
+ "T8200",
6993
+ "T8201",
6994
+ "T8202",
6995
+ "T8203",
6996
+ "T8210",
6997
+ "T8212",
6998
+ "T8213",
6999
+ "T8214",
7000
+ "T8220",
7001
+ "T8221",
7002
+ "T8222"
7003
+ ]);
7004
+ var DOORBELL_TYPES = [
7005
+ DeviceType.DOORBELL,
7006
+ DeviceType.BATTERY_DOORBELL,
7007
+ DeviceType.BATTERY_DOORBELL_2,
7008
+ DeviceType.BATTERY_DOORBELL_PLUS,
7009
+ DeviceType.DOORBELL_SOLO,
7010
+ DeviceType.BATTERY_DOORBELL_PLUS_E340
7011
+ ];
6990
7012
  var DOORBELL_CMD = {
6991
7013
  /**
6992
7014
  * Doorbell "quick response" — make the doorbell PLAY a stored voice reply. Same 136-byte
@@ -7323,8 +7345,16 @@ var DOORBELL = {
7323
7345
  description: "Doorbell chime / ringtone configuration (ring press is an event, not a param).",
7324
7346
  members: DOORBELL_MEMBERS,
7325
7347
  properties: propertiesOf(DOORBELL_MEMBERS),
7326
- /** Doorbells self-report no single unambiguous param; the model name is the reliable signal. */
7327
- detection: { modelHints: [/doorbell/i] },
7348
+ /**
7349
+ * Doorbells self-report no param of their own (the 1702-1719 settings also arrive from eufyCams), and
7350
+ * the cloud record names no product, so detection keys off the app's own tables:
7351
+ * {@link DOORBELL_MODELS} and {@link DOORBELL_TYPES}.
7352
+ */
7353
+ detection: {
7354
+ detect: (rec) => DOORBELL_MODELS.has(rec.model ?? ""),
7355
+ deviceTypes: DOORBELL_TYPES,
7356
+ modelHints: [/doorbell/i]
7357
+ },
7328
7358
  /**
7329
7359
  * Inbound FCM doorbell events (`DoorbellPushEvent`): ring press and the package trio.
7330
7360
  *
@@ -11594,18 +11624,16 @@ var MODEL_REGISTRY = {
11594
11624
  T8002: { codec: "station", name: "HomeBase E" },
11595
11625
  // Cameras with curated extras that aren't always provable from a fresh device's params.
11596
11626
  T8423: { codec: "camera", caps: ["light", "battery"], name: "Floodlight Cam" },
11597
- T8210: { codec: "camera", caps: ["doorbell", "battery"], name: "Video Doorbell" },
11627
+ T8210: { codec: "camera", caps: ["battery"], name: "Video Doorbell" },
11598
11628
  // T8210 hardware variant, reported as its own code; shares the T8210 row.
11599
- T8210C: { codec: "camera", caps: ["doorbell", "battery"], name: "Video Doorbell" },
11629
+ T8210C: { codec: "camera", caps: ["battery"], name: "Video Doorbell" },
11600
11630
  // Confirmed against a real owned unit (named "Doorbell"): Video Doorbell Dual.
11601
- T8214: { codec: "camera", caps: ["doorbell", "battery"], name: "Video Doorbell Dual" },
11602
- // Battery Video Doorbell Dual, vendor deviceType 91 (BATTERY_DOORBELL_PLUS), reported by two users.
11603
- T8213: { codec: "camera", caps: ["doorbell", "battery"], name: "Video Doorbell Dual" },
11631
+ T8214: { codec: "camera", caps: ["battery"], name: "Video Doorbell Dual" },
11632
+ T8213: { codec: "camera", caps: ["battery"], name: "Video Doorbell Dual" },
11604
11633
  // Confirmed against a real owned unit: the mains-powered Wired Doorbell 2K. No `battery` row
11605
11634
  // member on purpose — this model is wired, so the codec baseline plus inference is the whole
11606
- // truth for power. Without this row it classified as a plain camera, so the doorbell capability
11607
- // never appeared and consumers got no doorbell event entity or ring trigger.
11608
- T8200: { codec: "camera", caps: ["doorbell"], name: "Wired Doorbell 2K" },
11635
+ // truth for power.
11636
+ T8200: { codec: "camera", name: "Wired Doorbell 2K" },
11609
11637
  // Cameras observed on real owned hardware (inspect-device sweep). Names from the app's own
11610
11638
  // model-family constants (scripts/data/app_model_registry.json); caps mirror what the device
11611
11639
  // reports. T8171 has no family entry in that dump, so it keeps the raw T-code.