@camstack/addon-export-hap 1.2.29 → 1.2.31
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 +44 -2
- package/dist/hap-export.addon.mjs +44 -2
- package/package.json +1 -1
package/dist/hap-export.addon.js
CHANGED
|
@@ -19861,7 +19861,31 @@ DeviceType.Camera, method(object({
|
|
|
19861
19861
|
lastCapturedAt: number().nullable(),
|
|
19862
19862
|
cacheAgeMs: number().nullable(),
|
|
19863
19863
|
etag: string().nullable()
|
|
19864
|
-
}))), systemMethod(object({
|
|
19864
|
+
}))), systemMethod(object({ deviceId: number() }), object({
|
|
19865
|
+
/** The battery slice as read, or null when the device has none. */
|
|
19866
|
+
battery: object({
|
|
19867
|
+
sleeping: boolean(),
|
|
19868
|
+
lastUpdated: number(),
|
|
19869
|
+
lastContactAt: number().optional()
|
|
19870
|
+
}).nullable(),
|
|
19871
|
+
/** The resolved snapshot state (what the overlay decision used). */
|
|
19872
|
+
state: object({
|
|
19873
|
+
isBattery: boolean(),
|
|
19874
|
+
reason: _enum([
|
|
19875
|
+
"disabled",
|
|
19876
|
+
"sleeping",
|
|
19877
|
+
"unreachable",
|
|
19878
|
+
"waking"
|
|
19879
|
+
]).nullable()
|
|
19880
|
+
}),
|
|
19881
|
+
/** The cached frame behind the next paint. */
|
|
19882
|
+
frame: object({
|
|
19883
|
+
capturedAt: number().nullable(),
|
|
19884
|
+
ageMs: number().nullable()
|
|
19885
|
+
}),
|
|
19886
|
+
/** A wake window is currently open (the Waking overlay's source). */
|
|
19887
|
+
waking: boolean()
|
|
19888
|
+
})), systemMethod(object({
|
|
19865
19889
|
/** The tiles a surface is actually rendering. One entry per (device,
|
|
19866
19890
|
* width) the caller will paint — the width is snapped to the server's
|
|
19867
19891
|
* ladder and becomes part of the link's SIGNED identity. */
|
|
@@ -19900,7 +19924,14 @@ targets: array(object({
|
|
|
19900
19924
|
"sleeping",
|
|
19901
19925
|
"unreachable",
|
|
19902
19926
|
"waking"
|
|
19903
|
-
]).nullable()
|
|
19927
|
+
]).nullable(),
|
|
19928
|
+
/** A battery camera (whatever its current state). An AWAKE battery
|
|
19929
|
+
* camera is deliberately NOT recaptured on the poll cadence — every
|
|
19930
|
+
* capture is a camera hit that would keep it out of sleep — so its
|
|
19931
|
+
* cached frame legitimately ages past the currency ceiling while
|
|
19932
|
+
* nothing is streaming. A surface must keep painting it (a fresh
|
|
19933
|
+
* frame is captured at each wake), not blank to "unavailable". */
|
|
19934
|
+
battery: boolean()
|
|
19904
19935
|
})));
|
|
19905
19936
|
/**
|
|
19906
19937
|
* `sso-bridge` — internal hub-only cap that lets SSO-style auth
|
|
@@ -31149,6 +31180,12 @@ Object.freeze({
|
|
|
31149
31180
|
addonId: null,
|
|
31150
31181
|
access: "view"
|
|
31151
31182
|
},
|
|
31183
|
+
"snapshot.getDebugState": {
|
|
31184
|
+
capName: "snapshot",
|
|
31185
|
+
capScope: "device",
|
|
31186
|
+
addonId: null,
|
|
31187
|
+
access: "view"
|
|
31188
|
+
},
|
|
31152
31189
|
"snapshot.getSnapshot": {
|
|
31153
31190
|
capName: "snapshot",
|
|
31154
31191
|
capScope: "device",
|
|
@@ -33746,6 +33783,11 @@ Object.freeze({
|
|
|
33746
33783
|
form: "single",
|
|
33747
33784
|
optional: false
|
|
33748
33785
|
}],
|
|
33786
|
+
"snapshot.getDebugState": [{
|
|
33787
|
+
name: "deviceId",
|
|
33788
|
+
form: "single",
|
|
33789
|
+
optional: false
|
|
33790
|
+
}],
|
|
33749
33791
|
"snapshot.getSnapshot": [{
|
|
33750
33792
|
name: "deviceId",
|
|
33751
33793
|
form: "single",
|
|
@@ -19849,7 +19849,31 @@ DeviceType.Camera, method(object({
|
|
|
19849
19849
|
lastCapturedAt: number().nullable(),
|
|
19850
19850
|
cacheAgeMs: number().nullable(),
|
|
19851
19851
|
etag: string().nullable()
|
|
19852
|
-
}))), systemMethod(object({
|
|
19852
|
+
}))), systemMethod(object({ deviceId: number() }), object({
|
|
19853
|
+
/** The battery slice as read, or null when the device has none. */
|
|
19854
|
+
battery: object({
|
|
19855
|
+
sleeping: boolean(),
|
|
19856
|
+
lastUpdated: number(),
|
|
19857
|
+
lastContactAt: number().optional()
|
|
19858
|
+
}).nullable(),
|
|
19859
|
+
/** The resolved snapshot state (what the overlay decision used). */
|
|
19860
|
+
state: object({
|
|
19861
|
+
isBattery: boolean(),
|
|
19862
|
+
reason: _enum([
|
|
19863
|
+
"disabled",
|
|
19864
|
+
"sleeping",
|
|
19865
|
+
"unreachable",
|
|
19866
|
+
"waking"
|
|
19867
|
+
]).nullable()
|
|
19868
|
+
}),
|
|
19869
|
+
/** The cached frame behind the next paint. */
|
|
19870
|
+
frame: object({
|
|
19871
|
+
capturedAt: number().nullable(),
|
|
19872
|
+
ageMs: number().nullable()
|
|
19873
|
+
}),
|
|
19874
|
+
/** A wake window is currently open (the Waking overlay's source). */
|
|
19875
|
+
waking: boolean()
|
|
19876
|
+
})), systemMethod(object({
|
|
19853
19877
|
/** The tiles a surface is actually rendering. One entry per (device,
|
|
19854
19878
|
* width) the caller will paint — the width is snapped to the server's
|
|
19855
19879
|
* ladder and becomes part of the link's SIGNED identity. */
|
|
@@ -19888,7 +19912,14 @@ targets: array(object({
|
|
|
19888
19912
|
"sleeping",
|
|
19889
19913
|
"unreachable",
|
|
19890
19914
|
"waking"
|
|
19891
|
-
]).nullable()
|
|
19915
|
+
]).nullable(),
|
|
19916
|
+
/** A battery camera (whatever its current state). An AWAKE battery
|
|
19917
|
+
* camera is deliberately NOT recaptured on the poll cadence — every
|
|
19918
|
+
* capture is a camera hit that would keep it out of sleep — so its
|
|
19919
|
+
* cached frame legitimately ages past the currency ceiling while
|
|
19920
|
+
* nothing is streaming. A surface must keep painting it (a fresh
|
|
19921
|
+
* frame is captured at each wake), not blank to "unavailable". */
|
|
19922
|
+
battery: boolean()
|
|
19892
19923
|
})));
|
|
19893
19924
|
/**
|
|
19894
19925
|
* `sso-bridge` — internal hub-only cap that lets SSO-style auth
|
|
@@ -31137,6 +31168,12 @@ Object.freeze({
|
|
|
31137
31168
|
addonId: null,
|
|
31138
31169
|
access: "view"
|
|
31139
31170
|
},
|
|
31171
|
+
"snapshot.getDebugState": {
|
|
31172
|
+
capName: "snapshot",
|
|
31173
|
+
capScope: "device",
|
|
31174
|
+
addonId: null,
|
|
31175
|
+
access: "view"
|
|
31176
|
+
},
|
|
31140
31177
|
"snapshot.getSnapshot": {
|
|
31141
31178
|
capName: "snapshot",
|
|
31142
31179
|
capScope: "device",
|
|
@@ -33734,6 +33771,11 @@ Object.freeze({
|
|
|
33734
33771
|
form: "single",
|
|
33735
33772
|
optional: false
|
|
33736
33773
|
}],
|
|
33774
|
+
"snapshot.getDebugState": [{
|
|
33775
|
+
name: "deviceId",
|
|
33776
|
+
form: "single",
|
|
33777
|
+
optional: false
|
|
33778
|
+
}],
|
|
33737
33779
|
"snapshot.getSnapshot": [{
|
|
33738
33780
|
name: "deviceId",
|
|
33739
33781
|
form: "single",
|
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.31",
|
|
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",
|