@camstack/addon-provider-wyze 0.2.114 → 0.2.116

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/addon.js CHANGED
@@ -5392,7 +5392,7 @@ var ZodIssueCode = {
5392
5392
  var ZodFirstPartyTypeKind;
5393
5393
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5394
5394
  //#endregion
5395
- //#region ../types/dist/sleep-BDR76Ykr.mjs
5395
+ //#region ../types/dist/sleep-vl6nBE8d.mjs
5396
5396
  /**
5397
5397
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5398
5398
  * window to float samples (D455).
@@ -31030,14 +31030,81 @@ var privacyMaskCapability = {
31030
31030
  * whether persisting is worth a SQLite commit. */
31031
31031
  volatileStateFields: ["lastFetchedAt"]
31032
31032
  };
31033
+ /**
31034
+ * What a preset id DOES on this camera.
31035
+ *
31036
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
31037
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
31038
+ * (Hikvision) returns its own reserved band in the preset list, named by the
31039
+ * firmware:
31040
+ *
31041
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
31042
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
31043
+ * 95 Call OSD menu
31044
+ *
31045
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
31046
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
31047
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
31048
+ * operator as a transport failure.
31049
+ *
31050
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
31051
+ * is the single most useful thing that camera can do. Only `savePreset` and
31052
+ * `deletePreset` are gated.
31053
+ */
31054
+ var PtzPresetFunctionSchema = _enum([
31055
+ "home",
31056
+ "day-mode",
31057
+ "night-mode",
31058
+ "day-night-auto",
31059
+ "set-limits",
31060
+ "save-limits",
31061
+ "reboot",
31062
+ "osd-menu"
31063
+ ]);
31033
31064
  var PtzPresetSchema = object({
31034
31065
  id: string(),
31035
- name: string()
31066
+ name: string(),
31067
+ /**
31068
+ * The firmware function this id performs, when the provider KNOWS the id is
31069
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
31070
+ * provider does not recognise -- the two are told apart by `writable`.
31071
+ */
31072
+ fn: PtzPresetFunctionSchema.nullable(),
31073
+ /**
31074
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
31075
+ * it false only for a band it KNOWS is reserved; where the firmware is not
31076
+ * documented it stays true and a refusal comes from the camera, named.
31077
+ */
31078
+ writable: boolean()
31036
31079
  });
31080
+ /**
31081
+ * Where the head is pointing -- per axis, and `null` when the driver cannot
31082
+ * read it.
31083
+ *
31084
+ * It used to be three REQUIRED numbers, which left a provider that cannot read
31085
+ * position no way to say so. All four said `0`:
31086
+ *
31087
+ * reolink `return { pan: 0, tilt: 0, zoom: 0 }` "until a position-query
31088
+ * path lands upstream"
31089
+ * hikvision stub, "firmware-dependent and frequently absent"
31090
+ * amcrest stub, "no generic absolute-position read for this model family"
31091
+ * onvif throws
31092
+ *
31093
+ * So every consumer asking where a camera points was told "perfectly centred"
31094
+ * by four cameras that had never looked. That is D393 -- a measurement that
31095
+ * FAILED is `null`, never `0`, and the type says so all the way to the
31096
+ * decision -- the same shape as the unreadable `statfs` folded into "0 bytes of
31097
+ * headroom", which evacuated a healthy disk.
31098
+ *
31099
+ * D393 also says to check for a narrower structural TWIN of the result type.
31100
+ * There is one: `PtzStatusSchema` extends this, so the lie had already
31101
+ * propagated into `getStatus`, which is the surface `getPosition`'s own comment
31102
+ * tells callers to migrate to.
31103
+ */
31037
31104
  var PtzPositionSchema = object({
31038
- pan: number(),
31039
- tilt: number(),
31040
- zoom: number()
31105
+ pan: number().nullable(),
31106
+ tilt: number().nullable(),
31107
+ zoom: number().nullable()
31041
31108
  });
31042
31109
  var PtzMoveCommandSchema = object({
31043
31110
  pan: number().optional(),
@@ -31056,7 +31123,72 @@ var PtzOptionsSchema = object({
31056
31123
  maxPresets: number().optional(),
31057
31124
  /** Whether the camera exposes a controllable autofocus toggle
31058
31125
  * (boolean `hasX` per the getOptions availability convention). */
31059
- hasAutofocus: boolean()
31126
+ hasAutofocus: boolean(),
31127
+ /**
31128
+ * How many distinct speeds this camera's NATIVE scale offers.
31129
+ *
31130
+ * The cap's `speed` is normalized 0..1 and each provider maps it down --
31131
+ * Baichuan 1..63, Dahua 1..8, ISAPI's percentage -100..100. The normalized
31132
+ * value hides how coarse that really is: asking an amcrest for `0.37` is
31133
+ * meaningless, because it has eight steps and three of them round to the
31134
+ * same one. A loop that tunes its own gain has to know the granularity of
31135
+ * the knob it is turning.
31136
+ *
31137
+ * `null` = the driver does not know, or the scale is continuous (ONVIF takes
31138
+ * a float). Never a made-up number.
31139
+ */
31140
+ speedSteps: number().int().positive().nullable(),
31141
+ /**
31142
+ * How long ONE `move` pulse runs on this driver, ms.
31143
+ *
31144
+ * `move` is a self-terminating burst everywhere, but every provider hardcoded
31145
+ * its own duration in private -- 200 reolink, 350 amcrest, 500 hikvision,
31146
+ * 1000 onvif -- so no caller could read it. It is the DENOMINATOR of "how far
31147
+ * did the head travel per pulse": without it a measured displacement has no
31148
+ * gain to be divided into.
31149
+ *
31150
+ * `null` = the driver cannot say.
31151
+ */
31152
+ moveImpulseMs: number().int().positive().nullable()
31153
+ });
31154
+ /**
31155
+ * Which preset `goHome` goes to, and WHO decided.
31156
+ *
31157
+ * `goHome` used to be three vendor "conventions" written in three comments --
31158
+ * Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
31159
+ * not one of the three cameras honours its own:
31160
+ *
31161
+ * 592 Videocamera camera Daniel (reolink) preset 0 holds "stanza"
31162
+ * 1438 Videocamera dispensa (hikvision) preset 1 holds "Credenza"
31163
+ * 3836 Videocamera studio (amcrest) preset 1 holds "Preset1"
31164
+ *
31165
+ * So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
31166
+ * and two of the three swallowed the failure in a bare `catch`. For autotrack
31167
+ * this is the HOTTEST path -- it runs every time a subject is released -- so it
31168
+ * needs an answer that is true per camera and audible when it is missing.
31169
+ *
31170
+ * `source` is what makes it honest:
31171
+ * - `operator` -- picked in the UI, stored by the provider.
31172
+ * - `firmware` -- the camera itself named a preset `fn: 'home'` (Hikvision's
31173
+ * "Back to origin"), adopted as the default with nothing to configure.
31174
+ * - `native` -- the driver homes WITHOUT a preset at all. ONVIF does:
31175
+ * `goHome` is `ptzAbsoluteMove({x:0, y:0, zoom:0})`. `presetId` is null and
31176
+ * that is not a failure -- there is nothing to pick, and the UI must offer
31177
+ * no picker.
31178
+ * - `none` -- nothing is configured and the camera names nothing.
31179
+ * `goHome` REFUSES rather than moving the head somewhere arbitrary.
31180
+ *
31181
+ * `source === 'none'` is the refusal condition, NOT `presetId === null`: the
31182
+ * native case has no preset and homes perfectly well.
31183
+ */
31184
+ var PtzHomePresetSchema = object({
31185
+ presetId: string().nullable(),
31186
+ source: _enum([
31187
+ "operator",
31188
+ "firmware",
31189
+ "native",
31190
+ "none"
31191
+ ])
31060
31192
  });
31061
31193
  DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _void(), { kind: "mutation" }), method(PtzMoveCommandSchema.extend({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), array(PtzPresetSchema)), method(object({
31062
31194
  deviceId: number(),
@@ -31074,7 +31206,22 @@ DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _
31074
31206
  }), _void(), {
31075
31207
  kind: "mutation",
31076
31208
  auth: "admin"
31077
- }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31209
+ }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzHomePresetSchema), method(object({
31210
+ deviceId: number(),
31211
+ presetId: string().nullable()
31212
+ }), _void(), {
31213
+ kind: "mutation",
31214
+ auth: "admin"
31215
+ }), method(object({ deviceId: number() }), _void(), {
31216
+ kind: "mutation",
31217
+ auth: "admin"
31218
+ }), method(object({ deviceId: number() }), number().int().nullable()), method(object({
31219
+ deviceId: number(),
31220
+ seconds: number().int().min(0).max(3600)
31221
+ }), _void(), {
31222
+ kind: "mutation",
31223
+ auth: "admin"
31224
+ }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31078
31225
  deviceId: number(),
31079
31226
  enabled: boolean()
31080
31227
  }), _void(), { kind: "mutation" });
@@ -40316,6 +40463,12 @@ Object.freeze({
40316
40463
  addonId: null,
40317
40464
  access: "create"
40318
40465
  },
40466
+ "ptz.captureHomeHere": {
40467
+ capName: "ptz",
40468
+ capScope: "device",
40469
+ addonId: null,
40470
+ access: "create"
40471
+ },
40319
40472
  "ptz.continuousMove": {
40320
40473
  capName: "ptz",
40321
40474
  capScope: "device",
@@ -40328,6 +40481,18 @@ Object.freeze({
40328
40481
  addonId: null,
40329
40482
  access: "delete"
40330
40483
  },
40484
+ "ptz.getHomePreset": {
40485
+ capName: "ptz",
40486
+ capScope: "device",
40487
+ addonId: null,
40488
+ access: "view"
40489
+ },
40490
+ "ptz.getHomeReturnSeconds": {
40491
+ capName: "ptz",
40492
+ capScope: "device",
40493
+ addonId: null,
40494
+ access: "view"
40495
+ },
40331
40496
  "ptz.getOptions": {
40332
40497
  capName: "ptz",
40333
40498
  capScope: "device",
@@ -40376,6 +40541,18 @@ Object.freeze({
40376
40541
  addonId: null,
40377
40542
  access: "create"
40378
40543
  },
40544
+ "ptz.setHomePreset": {
40545
+ capName: "ptz",
40546
+ capScope: "device",
40547
+ addonId: null,
40548
+ access: "create"
40549
+ },
40550
+ "ptz.setHomeReturnSeconds": {
40551
+ capName: "ptz",
40552
+ capScope: "device",
40553
+ addonId: null,
40554
+ access: "create"
40555
+ },
40379
40556
  "ptz.stop": {
40380
40557
  capName: "ptz",
40381
40558
  capScope: "device",
@@ -43539,6 +43716,11 @@ Object.freeze({
43539
43716
  form: "single",
43540
43717
  optional: false
43541
43718
  }],
43719
+ "ptz.captureHomeHere": [{
43720
+ name: "deviceId",
43721
+ form: "single",
43722
+ optional: false
43723
+ }],
43542
43724
  "ptz.continuousMove": [{
43543
43725
  name: "deviceId",
43544
43726
  form: "single",
@@ -43549,6 +43731,16 @@ Object.freeze({
43549
43731
  form: "single",
43550
43732
  optional: false
43551
43733
  }],
43734
+ "ptz.getHomePreset": [{
43735
+ name: "deviceId",
43736
+ form: "single",
43737
+ optional: false
43738
+ }],
43739
+ "ptz.getHomeReturnSeconds": [{
43740
+ name: "deviceId",
43741
+ form: "single",
43742
+ optional: false
43743
+ }],
43552
43744
  "ptz.getOptions": [{
43553
43745
  name: "deviceId",
43554
43746
  form: "single",
@@ -43589,6 +43781,16 @@ Object.freeze({
43589
43781
  form: "single",
43590
43782
  optional: false
43591
43783
  }],
43784
+ "ptz.setHomePreset": [{
43785
+ name: "deviceId",
43786
+ form: "single",
43787
+ optional: false
43788
+ }],
43789
+ "ptz.setHomeReturnSeconds": [{
43790
+ name: "deviceId",
43791
+ form: "single",
43792
+ optional: false
43793
+ }],
43592
43794
  "ptz.stop": [{
43593
43795
  name: "deviceId",
43594
43796
  form: "single",
package/dist/addon.mjs CHANGED
@@ -5371,7 +5371,7 @@ var ZodIssueCode = {
5371
5371
  var ZodFirstPartyTypeKind;
5372
5372
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5373
5373
  //#endregion
5374
- //#region ../types/dist/sleep-BDR76Ykr.mjs
5374
+ //#region ../types/dist/sleep-vl6nBE8d.mjs
5375
5375
  /**
5376
5376
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5377
5377
  * window to float samples (D455).
@@ -31009,14 +31009,81 @@ var privacyMaskCapability = {
31009
31009
  * whether persisting is worth a SQLite commit. */
31010
31010
  volatileStateFields: ["lastFetchedAt"]
31011
31011
  };
31012
+ /**
31013
+ * What a preset id DOES on this camera.
31014
+ *
31015
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
31016
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
31017
+ * (Hikvision) returns its own reserved band in the preset list, named by the
31018
+ * firmware:
31019
+ *
31020
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
31021
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
31022
+ * 95 Call OSD menu
31023
+ *
31024
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
31025
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
31026
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
31027
+ * operator as a transport failure.
31028
+ *
31029
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
31030
+ * is the single most useful thing that camera can do. Only `savePreset` and
31031
+ * `deletePreset` are gated.
31032
+ */
31033
+ var PtzPresetFunctionSchema = _enum([
31034
+ "home",
31035
+ "day-mode",
31036
+ "night-mode",
31037
+ "day-night-auto",
31038
+ "set-limits",
31039
+ "save-limits",
31040
+ "reboot",
31041
+ "osd-menu"
31042
+ ]);
31012
31043
  var PtzPresetSchema = object({
31013
31044
  id: string(),
31014
- name: string()
31045
+ name: string(),
31046
+ /**
31047
+ * The firmware function this id performs, when the provider KNOWS the id is
31048
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
31049
+ * provider does not recognise -- the two are told apart by `writable`.
31050
+ */
31051
+ fn: PtzPresetFunctionSchema.nullable(),
31052
+ /**
31053
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
31054
+ * it false only for a band it KNOWS is reserved; where the firmware is not
31055
+ * documented it stays true and a refusal comes from the camera, named.
31056
+ */
31057
+ writable: boolean()
31015
31058
  });
31059
+ /**
31060
+ * Where the head is pointing -- per axis, and `null` when the driver cannot
31061
+ * read it.
31062
+ *
31063
+ * It used to be three REQUIRED numbers, which left a provider that cannot read
31064
+ * position no way to say so. All four said `0`:
31065
+ *
31066
+ * reolink `return { pan: 0, tilt: 0, zoom: 0 }` "until a position-query
31067
+ * path lands upstream"
31068
+ * hikvision stub, "firmware-dependent and frequently absent"
31069
+ * amcrest stub, "no generic absolute-position read for this model family"
31070
+ * onvif throws
31071
+ *
31072
+ * So every consumer asking where a camera points was told "perfectly centred"
31073
+ * by four cameras that had never looked. That is D393 -- a measurement that
31074
+ * FAILED is `null`, never `0`, and the type says so all the way to the
31075
+ * decision -- the same shape as the unreadable `statfs` folded into "0 bytes of
31076
+ * headroom", which evacuated a healthy disk.
31077
+ *
31078
+ * D393 also says to check for a narrower structural TWIN of the result type.
31079
+ * There is one: `PtzStatusSchema` extends this, so the lie had already
31080
+ * propagated into `getStatus`, which is the surface `getPosition`'s own comment
31081
+ * tells callers to migrate to.
31082
+ */
31016
31083
  var PtzPositionSchema = object({
31017
- pan: number(),
31018
- tilt: number(),
31019
- zoom: number()
31084
+ pan: number().nullable(),
31085
+ tilt: number().nullable(),
31086
+ zoom: number().nullable()
31020
31087
  });
31021
31088
  var PtzMoveCommandSchema = object({
31022
31089
  pan: number().optional(),
@@ -31035,7 +31102,72 @@ var PtzOptionsSchema = object({
31035
31102
  maxPresets: number().optional(),
31036
31103
  /** Whether the camera exposes a controllable autofocus toggle
31037
31104
  * (boolean `hasX` per the getOptions availability convention). */
31038
- hasAutofocus: boolean()
31105
+ hasAutofocus: boolean(),
31106
+ /**
31107
+ * How many distinct speeds this camera's NATIVE scale offers.
31108
+ *
31109
+ * The cap's `speed` is normalized 0..1 and each provider maps it down --
31110
+ * Baichuan 1..63, Dahua 1..8, ISAPI's percentage -100..100. The normalized
31111
+ * value hides how coarse that really is: asking an amcrest for `0.37` is
31112
+ * meaningless, because it has eight steps and three of them round to the
31113
+ * same one. A loop that tunes its own gain has to know the granularity of
31114
+ * the knob it is turning.
31115
+ *
31116
+ * `null` = the driver does not know, or the scale is continuous (ONVIF takes
31117
+ * a float). Never a made-up number.
31118
+ */
31119
+ speedSteps: number().int().positive().nullable(),
31120
+ /**
31121
+ * How long ONE `move` pulse runs on this driver, ms.
31122
+ *
31123
+ * `move` is a self-terminating burst everywhere, but every provider hardcoded
31124
+ * its own duration in private -- 200 reolink, 350 amcrest, 500 hikvision,
31125
+ * 1000 onvif -- so no caller could read it. It is the DENOMINATOR of "how far
31126
+ * did the head travel per pulse": without it a measured displacement has no
31127
+ * gain to be divided into.
31128
+ *
31129
+ * `null` = the driver cannot say.
31130
+ */
31131
+ moveImpulseMs: number().int().positive().nullable()
31132
+ });
31133
+ /**
31134
+ * Which preset `goHome` goes to, and WHO decided.
31135
+ *
31136
+ * `goHome` used to be three vendor "conventions" written in three comments --
31137
+ * Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
31138
+ * not one of the three cameras honours its own:
31139
+ *
31140
+ * 592 Videocamera camera Daniel (reolink) preset 0 holds "stanza"
31141
+ * 1438 Videocamera dispensa (hikvision) preset 1 holds "Credenza"
31142
+ * 3836 Videocamera studio (amcrest) preset 1 holds "Preset1"
31143
+ *
31144
+ * So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
31145
+ * and two of the three swallowed the failure in a bare `catch`. For autotrack
31146
+ * this is the HOTTEST path -- it runs every time a subject is released -- so it
31147
+ * needs an answer that is true per camera and audible when it is missing.
31148
+ *
31149
+ * `source` is what makes it honest:
31150
+ * - `operator` -- picked in the UI, stored by the provider.
31151
+ * - `firmware` -- the camera itself named a preset `fn: 'home'` (Hikvision's
31152
+ * "Back to origin"), adopted as the default with nothing to configure.
31153
+ * - `native` -- the driver homes WITHOUT a preset at all. ONVIF does:
31154
+ * `goHome` is `ptzAbsoluteMove({x:0, y:0, zoom:0})`. `presetId` is null and
31155
+ * that is not a failure -- there is nothing to pick, and the UI must offer
31156
+ * no picker.
31157
+ * - `none` -- nothing is configured and the camera names nothing.
31158
+ * `goHome` REFUSES rather than moving the head somewhere arbitrary.
31159
+ *
31160
+ * `source === 'none'` is the refusal condition, NOT `presetId === null`: the
31161
+ * native case has no preset and homes perfectly well.
31162
+ */
31163
+ var PtzHomePresetSchema = object({
31164
+ presetId: string().nullable(),
31165
+ source: _enum([
31166
+ "operator",
31167
+ "firmware",
31168
+ "native",
31169
+ "none"
31170
+ ])
31039
31171
  });
31040
31172
  DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _void(), { kind: "mutation" }), method(PtzMoveCommandSchema.extend({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), array(PtzPresetSchema)), method(object({
31041
31173
  deviceId: number(),
@@ -31053,7 +31185,22 @@ DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _
31053
31185
  }), _void(), {
31054
31186
  kind: "mutation",
31055
31187
  auth: "admin"
31056
- }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31188
+ }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzHomePresetSchema), method(object({
31189
+ deviceId: number(),
31190
+ presetId: string().nullable()
31191
+ }), _void(), {
31192
+ kind: "mutation",
31193
+ auth: "admin"
31194
+ }), method(object({ deviceId: number() }), _void(), {
31195
+ kind: "mutation",
31196
+ auth: "admin"
31197
+ }), method(object({ deviceId: number() }), number().int().nullable()), method(object({
31198
+ deviceId: number(),
31199
+ seconds: number().int().min(0).max(3600)
31200
+ }), _void(), {
31201
+ kind: "mutation",
31202
+ auth: "admin"
31203
+ }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31057
31204
  deviceId: number(),
31058
31205
  enabled: boolean()
31059
31206
  }), _void(), { kind: "mutation" });
@@ -40295,6 +40442,12 @@ Object.freeze({
40295
40442
  addonId: null,
40296
40443
  access: "create"
40297
40444
  },
40445
+ "ptz.captureHomeHere": {
40446
+ capName: "ptz",
40447
+ capScope: "device",
40448
+ addonId: null,
40449
+ access: "create"
40450
+ },
40298
40451
  "ptz.continuousMove": {
40299
40452
  capName: "ptz",
40300
40453
  capScope: "device",
@@ -40307,6 +40460,18 @@ Object.freeze({
40307
40460
  addonId: null,
40308
40461
  access: "delete"
40309
40462
  },
40463
+ "ptz.getHomePreset": {
40464
+ capName: "ptz",
40465
+ capScope: "device",
40466
+ addonId: null,
40467
+ access: "view"
40468
+ },
40469
+ "ptz.getHomeReturnSeconds": {
40470
+ capName: "ptz",
40471
+ capScope: "device",
40472
+ addonId: null,
40473
+ access: "view"
40474
+ },
40310
40475
  "ptz.getOptions": {
40311
40476
  capName: "ptz",
40312
40477
  capScope: "device",
@@ -40355,6 +40520,18 @@ Object.freeze({
40355
40520
  addonId: null,
40356
40521
  access: "create"
40357
40522
  },
40523
+ "ptz.setHomePreset": {
40524
+ capName: "ptz",
40525
+ capScope: "device",
40526
+ addonId: null,
40527
+ access: "create"
40528
+ },
40529
+ "ptz.setHomeReturnSeconds": {
40530
+ capName: "ptz",
40531
+ capScope: "device",
40532
+ addonId: null,
40533
+ access: "create"
40534
+ },
40358
40535
  "ptz.stop": {
40359
40536
  capName: "ptz",
40360
40537
  capScope: "device",
@@ -43518,6 +43695,11 @@ Object.freeze({
43518
43695
  form: "single",
43519
43696
  optional: false
43520
43697
  }],
43698
+ "ptz.captureHomeHere": [{
43699
+ name: "deviceId",
43700
+ form: "single",
43701
+ optional: false
43702
+ }],
43521
43703
  "ptz.continuousMove": [{
43522
43704
  name: "deviceId",
43523
43705
  form: "single",
@@ -43528,6 +43710,16 @@ Object.freeze({
43528
43710
  form: "single",
43529
43711
  optional: false
43530
43712
  }],
43713
+ "ptz.getHomePreset": [{
43714
+ name: "deviceId",
43715
+ form: "single",
43716
+ optional: false
43717
+ }],
43718
+ "ptz.getHomeReturnSeconds": [{
43719
+ name: "deviceId",
43720
+ form: "single",
43721
+ optional: false
43722
+ }],
43531
43723
  "ptz.getOptions": [{
43532
43724
  name: "deviceId",
43533
43725
  form: "single",
@@ -43568,6 +43760,16 @@ Object.freeze({
43568
43760
  form: "single",
43569
43761
  optional: false
43570
43762
  }],
43763
+ "ptz.setHomePreset": [{
43764
+ name: "deviceId",
43765
+ form: "single",
43766
+ optional: false
43767
+ }],
43768
+ "ptz.setHomeReturnSeconds": [{
43769
+ name: "deviceId",
43770
+ form: "single",
43771
+ optional: false
43772
+ }],
43571
43773
  "ptz.stop": [{
43572
43774
  name: "deviceId",
43573
43775
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-wyze",
3
- "version": "0.2.114",
3
+ "version": "0.2.116",
4
4
  "description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
5
5
  "keywords": [
6
6
  "camstack",