@camstack/addon-provider-rtsp 1.2.110 → 1.2.112

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
@@ -5384,7 +5384,7 @@ var ZodIssueCode = {
5384
5384
  var ZodFirstPartyTypeKind;
5385
5385
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5386
5386
  //#endregion
5387
- //#region ../types/dist/sleep-BDR76Ykr.mjs
5387
+ //#region ../types/dist/sleep-vl6nBE8d.mjs
5388
5388
  /**
5389
5389
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5390
5390
  * window to float samples (D455).
@@ -31037,14 +31037,81 @@ var privacyMaskCapability = {
31037
31037
  * whether persisting is worth a SQLite commit. */
31038
31038
  volatileStateFields: ["lastFetchedAt"]
31039
31039
  };
31040
+ /**
31041
+ * What a preset id DOES on this camera.
31042
+ *
31043
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
31044
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
31045
+ * (Hikvision) returns its own reserved band in the preset list, named by the
31046
+ * firmware:
31047
+ *
31048
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
31049
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
31050
+ * 95 Call OSD menu
31051
+ *
31052
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
31053
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
31054
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
31055
+ * operator as a transport failure.
31056
+ *
31057
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
31058
+ * is the single most useful thing that camera can do. Only `savePreset` and
31059
+ * `deletePreset` are gated.
31060
+ */
31061
+ var PtzPresetFunctionSchema = _enum([
31062
+ "home",
31063
+ "day-mode",
31064
+ "night-mode",
31065
+ "day-night-auto",
31066
+ "set-limits",
31067
+ "save-limits",
31068
+ "reboot",
31069
+ "osd-menu"
31070
+ ]);
31040
31071
  var PtzPresetSchema = object({
31041
31072
  id: string(),
31042
- name: string()
31073
+ name: string(),
31074
+ /**
31075
+ * The firmware function this id performs, when the provider KNOWS the id is
31076
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
31077
+ * provider does not recognise -- the two are told apart by `writable`.
31078
+ */
31079
+ fn: PtzPresetFunctionSchema.nullable(),
31080
+ /**
31081
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
31082
+ * it false only for a band it KNOWS is reserved; where the firmware is not
31083
+ * documented it stays true and a refusal comes from the camera, named.
31084
+ */
31085
+ writable: boolean()
31043
31086
  });
31087
+ /**
31088
+ * Where the head is pointing -- per axis, and `null` when the driver cannot
31089
+ * read it.
31090
+ *
31091
+ * It used to be three REQUIRED numbers, which left a provider that cannot read
31092
+ * position no way to say so. All four said `0`:
31093
+ *
31094
+ * reolink `return { pan: 0, tilt: 0, zoom: 0 }` "until a position-query
31095
+ * path lands upstream"
31096
+ * hikvision stub, "firmware-dependent and frequently absent"
31097
+ * amcrest stub, "no generic absolute-position read for this model family"
31098
+ * onvif throws
31099
+ *
31100
+ * So every consumer asking where a camera points was told "perfectly centred"
31101
+ * by four cameras that had never looked. That is D393 -- a measurement that
31102
+ * FAILED is `null`, never `0`, and the type says so all the way to the
31103
+ * decision -- the same shape as the unreadable `statfs` folded into "0 bytes of
31104
+ * headroom", which evacuated a healthy disk.
31105
+ *
31106
+ * D393 also says to check for a narrower structural TWIN of the result type.
31107
+ * There is one: `PtzStatusSchema` extends this, so the lie had already
31108
+ * propagated into `getStatus`, which is the surface `getPosition`'s own comment
31109
+ * tells callers to migrate to.
31110
+ */
31044
31111
  var PtzPositionSchema = object({
31045
- pan: number(),
31046
- tilt: number(),
31047
- zoom: number()
31112
+ pan: number().nullable(),
31113
+ tilt: number().nullable(),
31114
+ zoom: number().nullable()
31048
31115
  });
31049
31116
  var PtzMoveCommandSchema = object({
31050
31117
  pan: number().optional(),
@@ -31063,7 +31130,72 @@ var PtzOptionsSchema = object({
31063
31130
  maxPresets: number().optional(),
31064
31131
  /** Whether the camera exposes a controllable autofocus toggle
31065
31132
  * (boolean `hasX` per the getOptions availability convention). */
31066
- hasAutofocus: boolean()
31133
+ hasAutofocus: boolean(),
31134
+ /**
31135
+ * How many distinct speeds this camera's NATIVE scale offers.
31136
+ *
31137
+ * The cap's `speed` is normalized 0..1 and each provider maps it down --
31138
+ * Baichuan 1..63, Dahua 1..8, ISAPI's percentage -100..100. The normalized
31139
+ * value hides how coarse that really is: asking an amcrest for `0.37` is
31140
+ * meaningless, because it has eight steps and three of them round to the
31141
+ * same one. A loop that tunes its own gain has to know the granularity of
31142
+ * the knob it is turning.
31143
+ *
31144
+ * `null` = the driver does not know, or the scale is continuous (ONVIF takes
31145
+ * a float). Never a made-up number.
31146
+ */
31147
+ speedSteps: number().int().positive().nullable(),
31148
+ /**
31149
+ * How long ONE `move` pulse runs on this driver, ms.
31150
+ *
31151
+ * `move` is a self-terminating burst everywhere, but every provider hardcoded
31152
+ * its own duration in private -- 200 reolink, 350 amcrest, 500 hikvision,
31153
+ * 1000 onvif -- so no caller could read it. It is the DENOMINATOR of "how far
31154
+ * did the head travel per pulse": without it a measured displacement has no
31155
+ * gain to be divided into.
31156
+ *
31157
+ * `null` = the driver cannot say.
31158
+ */
31159
+ moveImpulseMs: number().int().positive().nullable()
31160
+ });
31161
+ /**
31162
+ * Which preset `goHome` goes to, and WHO decided.
31163
+ *
31164
+ * `goHome` used to be three vendor "conventions" written in three comments --
31165
+ * Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
31166
+ * not one of the three cameras honours its own:
31167
+ *
31168
+ * 592 Videocamera camera Daniel (reolink) preset 0 holds "stanza"
31169
+ * 1438 Videocamera dispensa (hikvision) preset 1 holds "Credenza"
31170
+ * 3836 Videocamera studio (amcrest) preset 1 holds "Preset1"
31171
+ *
31172
+ * So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
31173
+ * and two of the three swallowed the failure in a bare `catch`. For autotrack
31174
+ * this is the HOTTEST path -- it runs every time a subject is released -- so it
31175
+ * needs an answer that is true per camera and audible when it is missing.
31176
+ *
31177
+ * `source` is what makes it honest:
31178
+ * - `operator` -- picked in the UI, stored by the provider.
31179
+ * - `firmware` -- the camera itself named a preset `fn: 'home'` (Hikvision's
31180
+ * "Back to origin"), adopted as the default with nothing to configure.
31181
+ * - `native` -- the driver homes WITHOUT a preset at all. ONVIF does:
31182
+ * `goHome` is `ptzAbsoluteMove({x:0, y:0, zoom:0})`. `presetId` is null and
31183
+ * that is not a failure -- there is nothing to pick, and the UI must offer
31184
+ * no picker.
31185
+ * - `none` -- nothing is configured and the camera names nothing.
31186
+ * `goHome` REFUSES rather than moving the head somewhere arbitrary.
31187
+ *
31188
+ * `source === 'none'` is the refusal condition, NOT `presetId === null`: the
31189
+ * native case has no preset and homes perfectly well.
31190
+ */
31191
+ var PtzHomePresetSchema = object({
31192
+ presetId: string().nullable(),
31193
+ source: _enum([
31194
+ "operator",
31195
+ "firmware",
31196
+ "native",
31197
+ "none"
31198
+ ])
31067
31199
  });
31068
31200
  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({
31069
31201
  deviceId: number(),
@@ -31081,7 +31213,22 @@ DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _
31081
31213
  }), _void(), {
31082
31214
  kind: "mutation",
31083
31215
  auth: "admin"
31084
- }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31216
+ }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzHomePresetSchema), method(object({
31217
+ deviceId: number(),
31218
+ presetId: string().nullable()
31219
+ }), _void(), {
31220
+ kind: "mutation",
31221
+ auth: "admin"
31222
+ }), method(object({ deviceId: number() }), _void(), {
31223
+ kind: "mutation",
31224
+ auth: "admin"
31225
+ }), method(object({ deviceId: number() }), number().int().nullable()), method(object({
31226
+ deviceId: number(),
31227
+ seconds: number().int().min(0).max(3600)
31228
+ }), _void(), {
31229
+ kind: "mutation",
31230
+ auth: "admin"
31231
+ }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31085
31232
  deviceId: number(),
31086
31233
  enabled: boolean()
31087
31234
  }), _void(), { kind: "mutation" });
@@ -40389,6 +40536,12 @@ Object.freeze({
40389
40536
  addonId: null,
40390
40537
  access: "create"
40391
40538
  },
40539
+ "ptz.captureHomeHere": {
40540
+ capName: "ptz",
40541
+ capScope: "device",
40542
+ addonId: null,
40543
+ access: "create"
40544
+ },
40392
40545
  "ptz.continuousMove": {
40393
40546
  capName: "ptz",
40394
40547
  capScope: "device",
@@ -40401,6 +40554,18 @@ Object.freeze({
40401
40554
  addonId: null,
40402
40555
  access: "delete"
40403
40556
  },
40557
+ "ptz.getHomePreset": {
40558
+ capName: "ptz",
40559
+ capScope: "device",
40560
+ addonId: null,
40561
+ access: "view"
40562
+ },
40563
+ "ptz.getHomeReturnSeconds": {
40564
+ capName: "ptz",
40565
+ capScope: "device",
40566
+ addonId: null,
40567
+ access: "view"
40568
+ },
40404
40569
  "ptz.getOptions": {
40405
40570
  capName: "ptz",
40406
40571
  capScope: "device",
@@ -40449,6 +40614,18 @@ Object.freeze({
40449
40614
  addonId: null,
40450
40615
  access: "create"
40451
40616
  },
40617
+ "ptz.setHomePreset": {
40618
+ capName: "ptz",
40619
+ capScope: "device",
40620
+ addonId: null,
40621
+ access: "create"
40622
+ },
40623
+ "ptz.setHomeReturnSeconds": {
40624
+ capName: "ptz",
40625
+ capScope: "device",
40626
+ addonId: null,
40627
+ access: "create"
40628
+ },
40452
40629
  "ptz.stop": {
40453
40630
  capName: "ptz",
40454
40631
  capScope: "device",
@@ -43612,6 +43789,11 @@ Object.freeze({
43612
43789
  form: "single",
43613
43790
  optional: false
43614
43791
  }],
43792
+ "ptz.captureHomeHere": [{
43793
+ name: "deviceId",
43794
+ form: "single",
43795
+ optional: false
43796
+ }],
43615
43797
  "ptz.continuousMove": [{
43616
43798
  name: "deviceId",
43617
43799
  form: "single",
@@ -43622,6 +43804,16 @@ Object.freeze({
43622
43804
  form: "single",
43623
43805
  optional: false
43624
43806
  }],
43807
+ "ptz.getHomePreset": [{
43808
+ name: "deviceId",
43809
+ form: "single",
43810
+ optional: false
43811
+ }],
43812
+ "ptz.getHomeReturnSeconds": [{
43813
+ name: "deviceId",
43814
+ form: "single",
43815
+ optional: false
43816
+ }],
43625
43817
  "ptz.getOptions": [{
43626
43818
  name: "deviceId",
43627
43819
  form: "single",
@@ -43662,6 +43854,16 @@ Object.freeze({
43662
43854
  form: "single",
43663
43855
  optional: false
43664
43856
  }],
43857
+ "ptz.setHomePreset": [{
43858
+ name: "deviceId",
43859
+ form: "single",
43860
+ optional: false
43861
+ }],
43862
+ "ptz.setHomeReturnSeconds": [{
43863
+ name: "deviceId",
43864
+ form: "single",
43865
+ optional: false
43866
+ }],
43665
43867
  "ptz.stop": [{
43666
43868
  name: "deviceId",
43667
43869
  form: "single",
package/dist/addon.mjs CHANGED
@@ -5360,7 +5360,7 @@ var ZodIssueCode = {
5360
5360
  var ZodFirstPartyTypeKind;
5361
5361
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5362
5362
  //#endregion
5363
- //#region ../types/dist/sleep-BDR76Ykr.mjs
5363
+ //#region ../types/dist/sleep-vl6nBE8d.mjs
5364
5364
  /**
5365
5365
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5366
5366
  * window to float samples (D455).
@@ -31013,14 +31013,81 @@ var privacyMaskCapability = {
31013
31013
  * whether persisting is worth a SQLite commit. */
31014
31014
  volatileStateFields: ["lastFetchedAt"]
31015
31015
  };
31016
+ /**
31017
+ * What a preset id DOES on this camera.
31018
+ *
31019
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
31020
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
31021
+ * (Hikvision) returns its own reserved band in the preset list, named by the
31022
+ * firmware:
31023
+ *
31024
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
31025
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
31026
+ * 95 Call OSD menu
31027
+ *
31028
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
31029
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
31030
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
31031
+ * operator as a transport failure.
31032
+ *
31033
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
31034
+ * is the single most useful thing that camera can do. Only `savePreset` and
31035
+ * `deletePreset` are gated.
31036
+ */
31037
+ var PtzPresetFunctionSchema = _enum([
31038
+ "home",
31039
+ "day-mode",
31040
+ "night-mode",
31041
+ "day-night-auto",
31042
+ "set-limits",
31043
+ "save-limits",
31044
+ "reboot",
31045
+ "osd-menu"
31046
+ ]);
31016
31047
  var PtzPresetSchema = object({
31017
31048
  id: string(),
31018
- name: string()
31049
+ name: string(),
31050
+ /**
31051
+ * The firmware function this id performs, when the provider KNOWS the id is
31052
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
31053
+ * provider does not recognise -- the two are told apart by `writable`.
31054
+ */
31055
+ fn: PtzPresetFunctionSchema.nullable(),
31056
+ /**
31057
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
31058
+ * it false only for a band it KNOWS is reserved; where the firmware is not
31059
+ * documented it stays true and a refusal comes from the camera, named.
31060
+ */
31061
+ writable: boolean()
31019
31062
  });
31063
+ /**
31064
+ * Where the head is pointing -- per axis, and `null` when the driver cannot
31065
+ * read it.
31066
+ *
31067
+ * It used to be three REQUIRED numbers, which left a provider that cannot read
31068
+ * position no way to say so. All four said `0`:
31069
+ *
31070
+ * reolink `return { pan: 0, tilt: 0, zoom: 0 }` "until a position-query
31071
+ * path lands upstream"
31072
+ * hikvision stub, "firmware-dependent and frequently absent"
31073
+ * amcrest stub, "no generic absolute-position read for this model family"
31074
+ * onvif throws
31075
+ *
31076
+ * So every consumer asking where a camera points was told "perfectly centred"
31077
+ * by four cameras that had never looked. That is D393 -- a measurement that
31078
+ * FAILED is `null`, never `0`, and the type says so all the way to the
31079
+ * decision -- the same shape as the unreadable `statfs` folded into "0 bytes of
31080
+ * headroom", which evacuated a healthy disk.
31081
+ *
31082
+ * D393 also says to check for a narrower structural TWIN of the result type.
31083
+ * There is one: `PtzStatusSchema` extends this, so the lie had already
31084
+ * propagated into `getStatus`, which is the surface `getPosition`'s own comment
31085
+ * tells callers to migrate to.
31086
+ */
31020
31087
  var PtzPositionSchema = object({
31021
- pan: number(),
31022
- tilt: number(),
31023
- zoom: number()
31088
+ pan: number().nullable(),
31089
+ tilt: number().nullable(),
31090
+ zoom: number().nullable()
31024
31091
  });
31025
31092
  var PtzMoveCommandSchema = object({
31026
31093
  pan: number().optional(),
@@ -31039,7 +31106,72 @@ var PtzOptionsSchema = object({
31039
31106
  maxPresets: number().optional(),
31040
31107
  /** Whether the camera exposes a controllable autofocus toggle
31041
31108
  * (boolean `hasX` per the getOptions availability convention). */
31042
- hasAutofocus: boolean()
31109
+ hasAutofocus: boolean(),
31110
+ /**
31111
+ * How many distinct speeds this camera's NATIVE scale offers.
31112
+ *
31113
+ * The cap's `speed` is normalized 0..1 and each provider maps it down --
31114
+ * Baichuan 1..63, Dahua 1..8, ISAPI's percentage -100..100. The normalized
31115
+ * value hides how coarse that really is: asking an amcrest for `0.37` is
31116
+ * meaningless, because it has eight steps and three of them round to the
31117
+ * same one. A loop that tunes its own gain has to know the granularity of
31118
+ * the knob it is turning.
31119
+ *
31120
+ * `null` = the driver does not know, or the scale is continuous (ONVIF takes
31121
+ * a float). Never a made-up number.
31122
+ */
31123
+ speedSteps: number().int().positive().nullable(),
31124
+ /**
31125
+ * How long ONE `move` pulse runs on this driver, ms.
31126
+ *
31127
+ * `move` is a self-terminating burst everywhere, but every provider hardcoded
31128
+ * its own duration in private -- 200 reolink, 350 amcrest, 500 hikvision,
31129
+ * 1000 onvif -- so no caller could read it. It is the DENOMINATOR of "how far
31130
+ * did the head travel per pulse": without it a measured displacement has no
31131
+ * gain to be divided into.
31132
+ *
31133
+ * `null` = the driver cannot say.
31134
+ */
31135
+ moveImpulseMs: number().int().positive().nullable()
31136
+ });
31137
+ /**
31138
+ * Which preset `goHome` goes to, and WHO decided.
31139
+ *
31140
+ * `goHome` used to be three vendor "conventions" written in three comments --
31141
+ * Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
31142
+ * not one of the three cameras honours its own:
31143
+ *
31144
+ * 592 Videocamera camera Daniel (reolink) preset 0 holds "stanza"
31145
+ * 1438 Videocamera dispensa (hikvision) preset 1 holds "Credenza"
31146
+ * 3836 Videocamera studio (amcrest) preset 1 holds "Preset1"
31147
+ *
31148
+ * So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
31149
+ * and two of the three swallowed the failure in a bare `catch`. For autotrack
31150
+ * this is the HOTTEST path -- it runs every time a subject is released -- so it
31151
+ * needs an answer that is true per camera and audible when it is missing.
31152
+ *
31153
+ * `source` is what makes it honest:
31154
+ * - `operator` -- picked in the UI, stored by the provider.
31155
+ * - `firmware` -- the camera itself named a preset `fn: 'home'` (Hikvision's
31156
+ * "Back to origin"), adopted as the default with nothing to configure.
31157
+ * - `native` -- the driver homes WITHOUT a preset at all. ONVIF does:
31158
+ * `goHome` is `ptzAbsoluteMove({x:0, y:0, zoom:0})`. `presetId` is null and
31159
+ * that is not a failure -- there is nothing to pick, and the UI must offer
31160
+ * no picker.
31161
+ * - `none` -- nothing is configured and the camera names nothing.
31162
+ * `goHome` REFUSES rather than moving the head somewhere arbitrary.
31163
+ *
31164
+ * `source === 'none'` is the refusal condition, NOT `presetId === null`: the
31165
+ * native case has no preset and homes perfectly well.
31166
+ */
31167
+ var PtzHomePresetSchema = object({
31168
+ presetId: string().nullable(),
31169
+ source: _enum([
31170
+ "operator",
31171
+ "firmware",
31172
+ "native",
31173
+ "none"
31174
+ ])
31043
31175
  });
31044
31176
  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({
31045
31177
  deviceId: number(),
@@ -31057,7 +31189,22 @@ DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _
31057
31189
  }), _void(), {
31058
31190
  kind: "mutation",
31059
31191
  auth: "admin"
31060
- }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31192
+ }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzHomePresetSchema), method(object({
31193
+ deviceId: number(),
31194
+ presetId: string().nullable()
31195
+ }), _void(), {
31196
+ kind: "mutation",
31197
+ auth: "admin"
31198
+ }), method(object({ deviceId: number() }), _void(), {
31199
+ kind: "mutation",
31200
+ auth: "admin"
31201
+ }), method(object({ deviceId: number() }), number().int().nullable()), method(object({
31202
+ deviceId: number(),
31203
+ seconds: number().int().min(0).max(3600)
31204
+ }), _void(), {
31205
+ kind: "mutation",
31206
+ auth: "admin"
31207
+ }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31061
31208
  deviceId: number(),
31062
31209
  enabled: boolean()
31063
31210
  }), _void(), { kind: "mutation" });
@@ -40365,6 +40512,12 @@ Object.freeze({
40365
40512
  addonId: null,
40366
40513
  access: "create"
40367
40514
  },
40515
+ "ptz.captureHomeHere": {
40516
+ capName: "ptz",
40517
+ capScope: "device",
40518
+ addonId: null,
40519
+ access: "create"
40520
+ },
40368
40521
  "ptz.continuousMove": {
40369
40522
  capName: "ptz",
40370
40523
  capScope: "device",
@@ -40377,6 +40530,18 @@ Object.freeze({
40377
40530
  addonId: null,
40378
40531
  access: "delete"
40379
40532
  },
40533
+ "ptz.getHomePreset": {
40534
+ capName: "ptz",
40535
+ capScope: "device",
40536
+ addonId: null,
40537
+ access: "view"
40538
+ },
40539
+ "ptz.getHomeReturnSeconds": {
40540
+ capName: "ptz",
40541
+ capScope: "device",
40542
+ addonId: null,
40543
+ access: "view"
40544
+ },
40380
40545
  "ptz.getOptions": {
40381
40546
  capName: "ptz",
40382
40547
  capScope: "device",
@@ -40425,6 +40590,18 @@ Object.freeze({
40425
40590
  addonId: null,
40426
40591
  access: "create"
40427
40592
  },
40593
+ "ptz.setHomePreset": {
40594
+ capName: "ptz",
40595
+ capScope: "device",
40596
+ addonId: null,
40597
+ access: "create"
40598
+ },
40599
+ "ptz.setHomeReturnSeconds": {
40600
+ capName: "ptz",
40601
+ capScope: "device",
40602
+ addonId: null,
40603
+ access: "create"
40604
+ },
40428
40605
  "ptz.stop": {
40429
40606
  capName: "ptz",
40430
40607
  capScope: "device",
@@ -43588,6 +43765,11 @@ Object.freeze({
43588
43765
  form: "single",
43589
43766
  optional: false
43590
43767
  }],
43768
+ "ptz.captureHomeHere": [{
43769
+ name: "deviceId",
43770
+ form: "single",
43771
+ optional: false
43772
+ }],
43591
43773
  "ptz.continuousMove": [{
43592
43774
  name: "deviceId",
43593
43775
  form: "single",
@@ -43598,6 +43780,16 @@ Object.freeze({
43598
43780
  form: "single",
43599
43781
  optional: false
43600
43782
  }],
43783
+ "ptz.getHomePreset": [{
43784
+ name: "deviceId",
43785
+ form: "single",
43786
+ optional: false
43787
+ }],
43788
+ "ptz.getHomeReturnSeconds": [{
43789
+ name: "deviceId",
43790
+ form: "single",
43791
+ optional: false
43792
+ }],
43601
43793
  "ptz.getOptions": [{
43602
43794
  name: "deviceId",
43603
43795
  form: "single",
@@ -43638,6 +43830,16 @@ Object.freeze({
43638
43830
  form: "single",
43639
43831
  optional: false
43640
43832
  }],
43833
+ "ptz.setHomePreset": [{
43834
+ name: "deviceId",
43835
+ form: "single",
43836
+ optional: false
43837
+ }],
43838
+ "ptz.setHomeReturnSeconds": [{
43839
+ name: "deviceId",
43840
+ form: "single",
43841
+ optional: false
43842
+ }],
43641
43843
  "ptz.stop": [{
43642
43844
  name: "deviceId",
43643
43845
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-rtsp",
3
- "version": "1.2.110",
3
+ "version": "1.2.112",
4
4
  "description": "Generic RTSP camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",