@camstack/addon-export-alexa 1.2.75 → 1.2.76

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.
@@ -26,7 +26,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  //#endregion
27
27
  let node_crypto = require("node:crypto");
28
28
  node_crypto = __toESM(node_crypto);
29
- //#region ../types/dist/event-category-BZL-fdNj.mjs
29
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
30
30
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
31
31
  EventCategory["SystemBoot"] = "system.boot";
32
32
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -398,6 +398,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
398
398
  */
399
399
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
400
400
  /**
401
+ * Cap event fired by every device that registers the `network-link`
402
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
403
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
404
+ * reading that moved.
405
+ */
406
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
407
+ /**
401
408
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
402
409
  * "wake in progress" window — between the Baichuan wake-up issue and
403
410
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23492,6 +23499,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23492
23499
  deviceId: number(),
23493
23500
  status: BatteryStatusSchema
23494
23501
  });
23502
+ /**
23503
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23504
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23505
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23506
+ * one Home Assistant projection.
23507
+ */
23508
+ var NetworkLinkStatusSchema = object({
23509
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23510
+ type: _enum([
23511
+ "wifi",
23512
+ "ethernet",
23513
+ "cellular",
23514
+ "unknown"
23515
+ ]),
23516
+ /**
23517
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23518
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23519
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23520
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23521
+ * SKIP a null rather than coerce it.
23522
+ */
23523
+ signalPercent: number().min(0).max(100).nullable(),
23524
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23525
+ rssiDbm: number().optional(),
23526
+ /** Network name of a wireless link, when the firmware reports it. */
23527
+ ssid: string().optional(),
23528
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23529
+ lastUpdated: number()
23530
+ });
23531
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23532
+ deviceId: number(),
23533
+ status: NetworkLinkStatusSchema
23534
+ });
23495
23535
  object({
23496
23536
  on: boolean(),
23497
23537
  /** Ms epoch of the last transition. 0 if never observed. */
@@ -1,5 +1,5 @@
1
1
  import * as crypto$1 from "node:crypto";
2
- //#region ../types/dist/event-category-BZL-fdNj.mjs
2
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -371,6 +371,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
371
371
  */
372
372
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
373
373
  /**
374
+ * Cap event fired by every device that registers the `network-link`
375
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
376
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
377
+ * reading that moved.
378
+ */
379
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
380
+ /**
374
381
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
375
382
  * "wake in progress" window — between the Baichuan wake-up issue and
376
383
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23465,6 +23472,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23465
23472
  deviceId: number(),
23466
23473
  status: BatteryStatusSchema
23467
23474
  });
23475
+ /**
23476
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23477
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23478
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23479
+ * one Home Assistant projection.
23480
+ */
23481
+ var NetworkLinkStatusSchema = object({
23482
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23483
+ type: _enum([
23484
+ "wifi",
23485
+ "ethernet",
23486
+ "cellular",
23487
+ "unknown"
23488
+ ]),
23489
+ /**
23490
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23491
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23492
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23493
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23494
+ * SKIP a null rather than coerce it.
23495
+ */
23496
+ signalPercent: number().min(0).max(100).nullable(),
23497
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23498
+ rssiDbm: number().optional(),
23499
+ /** Network name of a wireless link, when the firmware reports it. */
23500
+ ssid: string().optional(),
23501
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23502
+ lastUpdated: number()
23503
+ });
23504
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23505
+ deviceId: number(),
23506
+ status: NetworkLinkStatusSchema
23507
+ });
23468
23508
  object({
23469
23509
  on: boolean(),
23470
23510
  /** 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-alexa",
3
- "version": "1.2.75",
3
+ "version": "1.2.76",
4
4
  "description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
5
5
  "keywords": [
6
6
  "camstack",