@camstack/addon-export-google 0.1.33 → 0.1.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.
@@ -77,7 +77,7 @@ function createApiDeviceGateway(deps) {
77
77
  };
78
78
  }
79
79
  //#endregion
80
- //#region ../types/dist/event-category-BZL-fdNj.mjs
80
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
81
81
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
82
82
  EventCategory["SystemBoot"] = "system.boot";
83
83
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -449,6 +449,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
449
449
  */
450
450
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
451
451
  /**
452
+ * Cap event fired by every device that registers the `network-link`
453
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
454
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
455
+ * reading that moved.
456
+ */
457
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
458
+ /**
452
459
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
453
460
  * "wake in progress" window — between the Baichuan wake-up issue and
454
461
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23463,6 +23470,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23463
23470
  deviceId: number(),
23464
23471
  status: BatteryStatusSchema
23465
23472
  });
23473
+ /**
23474
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23475
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23476
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23477
+ * one Home Assistant projection.
23478
+ */
23479
+ var NetworkLinkStatusSchema = object({
23480
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23481
+ type: _enum([
23482
+ "wifi",
23483
+ "ethernet",
23484
+ "cellular",
23485
+ "unknown"
23486
+ ]),
23487
+ /**
23488
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23489
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23490
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23491
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23492
+ * SKIP a null rather than coerce it.
23493
+ */
23494
+ signalPercent: number().min(0).max(100).nullable(),
23495
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23496
+ rssiDbm: number().optional(),
23497
+ /** Network name of a wireless link, when the firmware reports it. */
23498
+ ssid: string().optional(),
23499
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23500
+ lastUpdated: number()
23501
+ });
23502
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23503
+ deviceId: number(),
23504
+ status: NetworkLinkStatusSchema
23505
+ });
23466
23506
  object({
23467
23507
  on: boolean(),
23468
23508
  /** Ms epoch of the last transition. 0 if never observed. */
@@ -73,7 +73,7 @@ function createApiDeviceGateway(deps) {
73
73
  };
74
74
  }
75
75
  //#endregion
76
- //#region ../types/dist/event-category-BZL-fdNj.mjs
76
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
77
77
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
78
78
  EventCategory["SystemBoot"] = "system.boot";
79
79
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -445,6 +445,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
445
445
  */
446
446
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
447
447
  /**
448
+ * Cap event fired by every device that registers the `network-link`
449
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
450
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
451
+ * reading that moved.
452
+ */
453
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
454
+ /**
448
455
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
449
456
  * "wake in progress" window — between the Baichuan wake-up issue and
450
457
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23459,6 +23466,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23459
23466
  deviceId: number(),
23460
23467
  status: BatteryStatusSchema
23461
23468
  });
23469
+ /**
23470
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23471
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23472
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23473
+ * one Home Assistant projection.
23474
+ */
23475
+ var NetworkLinkStatusSchema = object({
23476
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23477
+ type: _enum([
23478
+ "wifi",
23479
+ "ethernet",
23480
+ "cellular",
23481
+ "unknown"
23482
+ ]),
23483
+ /**
23484
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23485
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23486
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23487
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23488
+ * SKIP a null rather than coerce it.
23489
+ */
23490
+ signalPercent: number().min(0).max(100).nullable(),
23491
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23492
+ rssiDbm: number().optional(),
23493
+ /** Network name of a wireless link, when the firmware reports it. */
23494
+ ssid: string().optional(),
23495
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23496
+ lastUpdated: number()
23497
+ });
23498
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23499
+ deviceId: number(),
23500
+ status: NetworkLinkStatusSchema
23501
+ });
23462
23502
  object({
23463
23503
  on: boolean(),
23464
23504
  /** Ms epoch of the last transition. 0 if never observed. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-google",
3
- "version": "0.1.33",
3
+ "version": "0.1.34",
4
4
  "description": "Google Home export — hub-side smart-home fulfillment (SYNC / QUERY / EXECUTE / DISCONNECT) for the non-camera fleet, served over the hub's own OAuth account link. No Google credential is stored, sent or required.",
5
5
  "keywords": [
6
6
  "camstack",