@camstack/addon-export-hap 1.2.80 → 1.2.81

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.
@@ -84,7 +84,7 @@ function carryForward(base, existing, keys) {
84
84
  return out;
85
85
  }
86
86
  //#endregion
87
- //#region ../types/dist/event-category-BZL-fdNj.mjs
87
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
88
88
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
89
89
  EventCategory["SystemBoot"] = "system.boot";
90
90
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -456,6 +456,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
456
456
  */
457
457
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
458
458
  /**
459
+ * Cap event fired by every device that registers the `network-link`
460
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
461
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
462
+ * reading that moved.
463
+ */
464
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
465
+ /**
459
466
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
460
467
  * "wake in progress" window — between the Baichuan wake-up issue and
461
468
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23986,6 +23993,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23986
23993
  deviceId: number(),
23987
23994
  status: BatteryStatusSchema
23988
23995
  });
23996
+ /**
23997
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23998
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23999
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
24000
+ * one Home Assistant projection.
24001
+ */
24002
+ var NetworkLinkStatusSchema = object({
24003
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
24004
+ type: _enum([
24005
+ "wifi",
24006
+ "ethernet",
24007
+ "cellular",
24008
+ "unknown"
24009
+ ]),
24010
+ /**
24011
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
24012
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
24013
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
24014
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
24015
+ * SKIP a null rather than coerce it.
24016
+ */
24017
+ signalPercent: number().min(0).max(100).nullable(),
24018
+ /** Raw received signal strength in dBm, when the firmware reports one. */
24019
+ rssiDbm: number().optional(),
24020
+ /** Network name of a wireless link, when the firmware reports it. */
24021
+ ssid: string().optional(),
24022
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
24023
+ lastUpdated: number()
24024
+ });
24025
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
24026
+ deviceId: number(),
24027
+ status: NetworkLinkStatusSchema
24028
+ });
23989
24029
  object({
23990
24030
  on: boolean(),
23991
24031
  /** Ms epoch of the last transition. 0 if never observed. */
@@ -72,7 +72,7 @@ function carryForward(base, existing, keys) {
72
72
  return out;
73
73
  }
74
74
  //#endregion
75
- //#region ../types/dist/event-category-BZL-fdNj.mjs
75
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
76
76
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
77
77
  EventCategory["SystemBoot"] = "system.boot";
78
78
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -444,6 +444,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
444
444
  */
445
445
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
446
446
  /**
447
+ * Cap event fired by every device that registers the `network-link`
448
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
449
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
450
+ * reading that moved.
451
+ */
452
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
453
+ /**
447
454
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
448
455
  * "wake in progress" window — between the Baichuan wake-up issue and
449
456
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23974,6 +23981,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23974
23981
  deviceId: number(),
23975
23982
  status: BatteryStatusSchema
23976
23983
  });
23984
+ /**
23985
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23986
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23987
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23988
+ * one Home Assistant projection.
23989
+ */
23990
+ var NetworkLinkStatusSchema = object({
23991
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23992
+ type: _enum([
23993
+ "wifi",
23994
+ "ethernet",
23995
+ "cellular",
23996
+ "unknown"
23997
+ ]),
23998
+ /**
23999
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
24000
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
24001
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
24002
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
24003
+ * SKIP a null rather than coerce it.
24004
+ */
24005
+ signalPercent: number().min(0).max(100).nullable(),
24006
+ /** Raw received signal strength in dBm, when the firmware reports one. */
24007
+ rssiDbm: number().optional(),
24008
+ /** Network name of a wireless link, when the firmware reports it. */
24009
+ ssid: string().optional(),
24010
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
24011
+ lastUpdated: number()
24012
+ });
24013
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
24014
+ deviceId: number(),
24015
+ status: NetworkLinkStatusSchema
24016
+ });
23977
24017
  object({
23978
24018
  on: boolean(),
23979
24019
  /** 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-hap",
3
- "version": "1.2.80",
3
+ "version": "1.2.81",
4
4
  "description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
5
5
  "keywords": [
6
6
  "camstack",