@camstack/addon-export-hap 1.2.132 → 1.2.134
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/hap-export.addon.js +32 -10
- package/dist/hap-export.addon.mjs +32 -11
- package/package.json +1 -1
package/dist/hap-export.addon.js
CHANGED
|
@@ -108386,22 +108386,43 @@ function syncStateToJson(map) {
|
|
|
108386
108386
|
* capabilities bound to it — restricting coverage by type is precisely what
|
|
108387
108387
|
* confined this exporter to cameras for its first three rounds.
|
|
108388
108388
|
*/
|
|
108389
|
+
/**
|
|
108390
|
+
* What an entry with no stored settings is read as — and what a camera
|
|
108391
|
+
* exported TODAY is built from. Exported so a spec can assert the one thing
|
|
108392
|
+
* that matters about it: it must resolve to NOT recording, or "off by default"
|
|
108393
|
+
* is true only for cameras exposed before the flip.
|
|
108394
|
+
*/
|
|
108389
108395
|
var DEFAULT_DEVICE_SETTINGS = {
|
|
108390
108396
|
streamPreference: "auto",
|
|
108391
|
-
hksvRecording:
|
|
108397
|
+
hksvRecording: false
|
|
108392
108398
|
};
|
|
108393
108399
|
/**
|
|
108394
|
-
*
|
|
108395
|
-
*
|
|
108396
|
-
*
|
|
108397
|
-
*
|
|
108398
|
-
*
|
|
108399
|
-
*
|
|
108400
|
-
*
|
|
108401
|
-
*
|
|
108400
|
+
* OFF unless explicitly switched on — operator decision 2026-09-21, reversing
|
|
108401
|
+
* the 2026-08-08 flip:
|
|
108402
|
+
*
|
|
108403
|
+
* > *"il recording deve essere off di default, non deve essere attivo quando
|
|
108404
|
+
* > si esporta una camera su HKSV"*
|
|
108405
|
+
*
|
|
108406
|
+
* What changed is not the cost the earlier record argued about — recording on
|
|
108407
|
+
* the copy branch really is 0.7 % of a core and ~30 MB (D84), and cheap it
|
|
108408
|
+
* remains. What changed is that on-by-default made the switch **say something
|
|
108409
|
+
* the system was not doing**. Measured on 2026-09-21: 592, 587, 618 and 640
|
|
108410
|
+
* all reported HomeKit recording ON while the advertisement was WITHHELD
|
|
108411
|
+
* (`no-enabled-stream` — no enabled RTSP profile), so HomeKit never recorded
|
|
108412
|
+
* them and the tee had nothing to keep. The operator was being told four
|
|
108413
|
+
* cameras were recording because nobody had turned them off.
|
|
108414
|
+
*
|
|
108415
|
+
* Exposing a camera to HomeKit is a decision about EXPOSURE. Recording is a
|
|
108416
|
+
* second decision and now has to be made.
|
|
108417
|
+
*
|
|
108418
|
+
* ABSENT resolves OFF — the load-bearing case, for the same reason it was
|
|
108419
|
+
* before and with the opposite answer: a camera whose settings predate the
|
|
108420
|
+
* field, or that was exposed before today, was never asked about. Every read
|
|
108421
|
+
* goes through this one resolver (`=== true`), never a scattered `!== false`,
|
|
108422
|
+
* because those two disagree about exactly that case.
|
|
108402
108423
|
*/
|
|
108403
108424
|
function resolveHksvRecording(settings) {
|
|
108404
|
-
return settings?.hksvRecording
|
|
108425
|
+
return settings?.hksvRecording === true;
|
|
108405
108426
|
}
|
|
108406
108427
|
/**
|
|
108407
108428
|
* Whether this camera offers Apple's NEW camera service alongside the classic
|
|
@@ -109534,6 +109555,7 @@ function errMsg(err) {
|
|
|
109534
109555
|
}
|
|
109535
109556
|
//#endregion
|
|
109536
109557
|
exports.DEFAULT_CLIP_RETENTION_DAYS = DEFAULT_CLIP_RETENTION_DAYS;
|
|
109558
|
+
exports.DEFAULT_DEVICE_SETTINGS = DEFAULT_DEVICE_SETTINGS;
|
|
109537
109559
|
exports.EXPORT_HAP_ADDON_ID = EXPORT_HAP_ADDON_ID;
|
|
109538
109560
|
exports.ExportHapAddon = ExportHapAddon;
|
|
109539
109561
|
exports.default = ExportHapAddon;
|
|
@@ -108376,22 +108376,43 @@ function syncStateToJson(map) {
|
|
|
108376
108376
|
* capabilities bound to it — restricting coverage by type is precisely what
|
|
108377
108377
|
* confined this exporter to cameras for its first three rounds.
|
|
108378
108378
|
*/
|
|
108379
|
+
/**
|
|
108380
|
+
* What an entry with no stored settings is read as — and what a camera
|
|
108381
|
+
* exported TODAY is built from. Exported so a spec can assert the one thing
|
|
108382
|
+
* that matters about it: it must resolve to NOT recording, or "off by default"
|
|
108383
|
+
* is true only for cameras exposed before the flip.
|
|
108384
|
+
*/
|
|
108379
108385
|
var DEFAULT_DEVICE_SETTINGS = {
|
|
108380
108386
|
streamPreference: "auto",
|
|
108381
|
-
hksvRecording:
|
|
108387
|
+
hksvRecording: false
|
|
108382
108388
|
};
|
|
108383
108389
|
/**
|
|
108384
|
-
*
|
|
108385
|
-
*
|
|
108386
|
-
*
|
|
108387
|
-
*
|
|
108388
|
-
*
|
|
108389
|
-
*
|
|
108390
|
-
*
|
|
108391
|
-
*
|
|
108390
|
+
* OFF unless explicitly switched on — operator decision 2026-09-21, reversing
|
|
108391
|
+
* the 2026-08-08 flip:
|
|
108392
|
+
*
|
|
108393
|
+
* > *"il recording deve essere off di default, non deve essere attivo quando
|
|
108394
|
+
* > si esporta una camera su HKSV"*
|
|
108395
|
+
*
|
|
108396
|
+
* What changed is not the cost the earlier record argued about — recording on
|
|
108397
|
+
* the copy branch really is 0.7 % of a core and ~30 MB (D84), and cheap it
|
|
108398
|
+
* remains. What changed is that on-by-default made the switch **say something
|
|
108399
|
+
* the system was not doing**. Measured on 2026-09-21: 592, 587, 618 and 640
|
|
108400
|
+
* all reported HomeKit recording ON while the advertisement was WITHHELD
|
|
108401
|
+
* (`no-enabled-stream` — no enabled RTSP profile), so HomeKit never recorded
|
|
108402
|
+
* them and the tee had nothing to keep. The operator was being told four
|
|
108403
|
+
* cameras were recording because nobody had turned them off.
|
|
108404
|
+
*
|
|
108405
|
+
* Exposing a camera to HomeKit is a decision about EXPOSURE. Recording is a
|
|
108406
|
+
* second decision and now has to be made.
|
|
108407
|
+
*
|
|
108408
|
+
* ABSENT resolves OFF — the load-bearing case, for the same reason it was
|
|
108409
|
+
* before and with the opposite answer: a camera whose settings predate the
|
|
108410
|
+
* field, or that was exposed before today, was never asked about. Every read
|
|
108411
|
+
* goes through this one resolver (`=== true`), never a scattered `!== false`,
|
|
108412
|
+
* because those two disagree about exactly that case.
|
|
108392
108413
|
*/
|
|
108393
108414
|
function resolveHksvRecording(settings) {
|
|
108394
|
-
return settings?.hksvRecording
|
|
108415
|
+
return settings?.hksvRecording === true;
|
|
108395
108416
|
}
|
|
108396
108417
|
/**
|
|
108397
108418
|
* Whether this camera offers Apple's NEW camera service alongside the classic
|
|
@@ -109523,4 +109544,4 @@ function errMsg(err) {
|
|
|
109523
109544
|
return err instanceof Error ? err.message : String(err);
|
|
109524
109545
|
}
|
|
109525
109546
|
//#endregion
|
|
109526
|
-
export { DEFAULT_CLIP_RETENTION_DAYS, EXPORT_HAP_ADDON_ID, ExportHapAddon, ExportHapAddon as default, describeHksvCamera, unpublishAccessory as i, initHapStorage as n, publishStandalone as r, resolveClipRetentionDays, resolveHksvRecording, resolveKeepHomekitClips, resolveMultiTierService, deriveUsername as t };
|
|
109547
|
+
export { DEFAULT_CLIP_RETENTION_DAYS, DEFAULT_DEVICE_SETTINGS, EXPORT_HAP_ADDON_ID, ExportHapAddon, ExportHapAddon as default, describeHksvCamera, unpublishAccessory as i, initHapStorage as n, publishStandalone as r, resolveClipRetentionDays, resolveHksvRecording, resolveKeepHomekitClips, resolveMultiTierService, deriveUsername as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-hap",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.134",
|
|
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",
|