@camstack/addon-provider-rademacher 0.2.109 → 0.2.111

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
@@ -6345,7 +6345,7 @@ var ZodIssueCode = {
6345
6345
  var ZodFirstPartyTypeKind;
6346
6346
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
6347
6347
  //#endregion
6348
- //#region ../types/dist/sleep-BDR76Ykr.mjs
6348
+ //#region ../types/dist/sleep-vl6nBE8d.mjs
6349
6349
  /**
6350
6350
  * The audio chunk plane's byte format, and the ONE expansion from a coded
6351
6351
  * window to float samples (D455).
@@ -31854,14 +31854,81 @@ var privacyMaskCapability = {
31854
31854
  * whether persisting is worth a SQLite commit. */
31855
31855
  volatileStateFields: ["lastFetchedAt"]
31856
31856
  };
31857
+ /**
31858
+ * What a preset id DOES on this camera.
31859
+ *
31860
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
31861
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
31862
+ * (Hikvision) returns its own reserved band in the preset list, named by the
31863
+ * firmware:
31864
+ *
31865
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
31866
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
31867
+ * 95 Call OSD menu
31868
+ *
31869
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
31870
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
31871
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
31872
+ * operator as a transport failure.
31873
+ *
31874
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
31875
+ * is the single most useful thing that camera can do. Only `savePreset` and
31876
+ * `deletePreset` are gated.
31877
+ */
31878
+ var PtzPresetFunctionSchema = _enum([
31879
+ "home",
31880
+ "day-mode",
31881
+ "night-mode",
31882
+ "day-night-auto",
31883
+ "set-limits",
31884
+ "save-limits",
31885
+ "reboot",
31886
+ "osd-menu"
31887
+ ]);
31857
31888
  var PtzPresetSchema = object({
31858
31889
  id: string(),
31859
- name: string()
31890
+ name: string(),
31891
+ /**
31892
+ * The firmware function this id performs, when the provider KNOWS the id is
31893
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
31894
+ * provider does not recognise -- the two are told apart by `writable`.
31895
+ */
31896
+ fn: PtzPresetFunctionSchema.nullable(),
31897
+ /**
31898
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
31899
+ * it false only for a band it KNOWS is reserved; where the firmware is not
31900
+ * documented it stays true and a refusal comes from the camera, named.
31901
+ */
31902
+ writable: boolean()
31860
31903
  });
31904
+ /**
31905
+ * Where the head is pointing -- per axis, and `null` when the driver cannot
31906
+ * read it.
31907
+ *
31908
+ * It used to be three REQUIRED numbers, which left a provider that cannot read
31909
+ * position no way to say so. All four said `0`:
31910
+ *
31911
+ * reolink `return { pan: 0, tilt: 0, zoom: 0 }` "until a position-query
31912
+ * path lands upstream"
31913
+ * hikvision stub, "firmware-dependent and frequently absent"
31914
+ * amcrest stub, "no generic absolute-position read for this model family"
31915
+ * onvif throws
31916
+ *
31917
+ * So every consumer asking where a camera points was told "perfectly centred"
31918
+ * by four cameras that had never looked. That is D393 -- a measurement that
31919
+ * FAILED is `null`, never `0`, and the type says so all the way to the
31920
+ * decision -- the same shape as the unreadable `statfs` folded into "0 bytes of
31921
+ * headroom", which evacuated a healthy disk.
31922
+ *
31923
+ * D393 also says to check for a narrower structural TWIN of the result type.
31924
+ * There is one: `PtzStatusSchema` extends this, so the lie had already
31925
+ * propagated into `getStatus`, which is the surface `getPosition`'s own comment
31926
+ * tells callers to migrate to.
31927
+ */
31861
31928
  var PtzPositionSchema = object({
31862
- pan: number(),
31863
- tilt: number(),
31864
- zoom: number()
31929
+ pan: number().nullable(),
31930
+ tilt: number().nullable(),
31931
+ zoom: number().nullable()
31865
31932
  });
31866
31933
  var PtzMoveCommandSchema = object({
31867
31934
  pan: number().optional(),
@@ -31880,7 +31947,72 @@ var PtzOptionsSchema = object({
31880
31947
  maxPresets: number().optional(),
31881
31948
  /** Whether the camera exposes a controllable autofocus toggle
31882
31949
  * (boolean `hasX` per the getOptions availability convention). */
31883
- hasAutofocus: boolean()
31950
+ hasAutofocus: boolean(),
31951
+ /**
31952
+ * How many distinct speeds this camera's NATIVE scale offers.
31953
+ *
31954
+ * The cap's `speed` is normalized 0..1 and each provider maps it down --
31955
+ * Baichuan 1..63, Dahua 1..8, ISAPI's percentage -100..100. The normalized
31956
+ * value hides how coarse that really is: asking an amcrest for `0.37` is
31957
+ * meaningless, because it has eight steps and three of them round to the
31958
+ * same one. A loop that tunes its own gain has to know the granularity of
31959
+ * the knob it is turning.
31960
+ *
31961
+ * `null` = the driver does not know, or the scale is continuous (ONVIF takes
31962
+ * a float). Never a made-up number.
31963
+ */
31964
+ speedSteps: number().int().positive().nullable(),
31965
+ /**
31966
+ * How long ONE `move` pulse runs on this driver, ms.
31967
+ *
31968
+ * `move` is a self-terminating burst everywhere, but every provider hardcoded
31969
+ * its own duration in private -- 200 reolink, 350 amcrest, 500 hikvision,
31970
+ * 1000 onvif -- so no caller could read it. It is the DENOMINATOR of "how far
31971
+ * did the head travel per pulse": without it a measured displacement has no
31972
+ * gain to be divided into.
31973
+ *
31974
+ * `null` = the driver cannot say.
31975
+ */
31976
+ moveImpulseMs: number().int().positive().nullable()
31977
+ });
31978
+ /**
31979
+ * Which preset `goHome` goes to, and WHO decided.
31980
+ *
31981
+ * `goHome` used to be three vendor "conventions" written in three comments --
31982
+ * Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
31983
+ * not one of the three cameras honours its own:
31984
+ *
31985
+ * 592 Videocamera camera Daniel (reolink) preset 0 holds "stanza"
31986
+ * 1438 Videocamera dispensa (hikvision) preset 1 holds "Credenza"
31987
+ * 3836 Videocamera studio (amcrest) preset 1 holds "Preset1"
31988
+ *
31989
+ * So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
31990
+ * and two of the three swallowed the failure in a bare `catch`. For autotrack
31991
+ * this is the HOTTEST path -- it runs every time a subject is released -- so it
31992
+ * needs an answer that is true per camera and audible when it is missing.
31993
+ *
31994
+ * `source` is what makes it honest:
31995
+ * - `operator` -- picked in the UI, stored by the provider.
31996
+ * - `firmware` -- the camera itself named a preset `fn: 'home'` (Hikvision's
31997
+ * "Back to origin"), adopted as the default with nothing to configure.
31998
+ * - `native` -- the driver homes WITHOUT a preset at all. ONVIF does:
31999
+ * `goHome` is `ptzAbsoluteMove({x:0, y:0, zoom:0})`. `presetId` is null and
32000
+ * that is not a failure -- there is nothing to pick, and the UI must offer
32001
+ * no picker.
32002
+ * - `none` -- nothing is configured and the camera names nothing.
32003
+ * `goHome` REFUSES rather than moving the head somewhere arbitrary.
32004
+ *
32005
+ * `source === 'none'` is the refusal condition, NOT `presetId === null`: the
32006
+ * native case has no preset and homes perfectly well.
32007
+ */
32008
+ var PtzHomePresetSchema = object({
32009
+ presetId: string().nullable(),
32010
+ source: _enum([
32011
+ "operator",
32012
+ "firmware",
32013
+ "native",
32014
+ "none"
32015
+ ])
31884
32016
  });
31885
32017
  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({
31886
32018
  deviceId: number(),
@@ -31898,7 +32030,22 @@ DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _
31898
32030
  }), _void(), {
31899
32031
  kind: "mutation",
31900
32032
  auth: "admin"
31901
- }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
32033
+ }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzHomePresetSchema), method(object({
32034
+ deviceId: number(),
32035
+ presetId: string().nullable()
32036
+ }), _void(), {
32037
+ kind: "mutation",
32038
+ auth: "admin"
32039
+ }), method(object({ deviceId: number() }), _void(), {
32040
+ kind: "mutation",
32041
+ auth: "admin"
32042
+ }), method(object({ deviceId: number() }), number().int().nullable()), method(object({
32043
+ deviceId: number(),
32044
+ seconds: number().int().min(0).max(3600)
32045
+ }), _void(), {
32046
+ kind: "mutation",
32047
+ auth: "admin"
32048
+ }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31902
32049
  deviceId: number(),
31903
32050
  enabled: boolean()
31904
32051
  }), _void(), { kind: "mutation" });
@@ -41140,6 +41287,12 @@ Object.freeze({
41140
41287
  addonId: null,
41141
41288
  access: "create"
41142
41289
  },
41290
+ "ptz.captureHomeHere": {
41291
+ capName: "ptz",
41292
+ capScope: "device",
41293
+ addonId: null,
41294
+ access: "create"
41295
+ },
41143
41296
  "ptz.continuousMove": {
41144
41297
  capName: "ptz",
41145
41298
  capScope: "device",
@@ -41152,6 +41305,18 @@ Object.freeze({
41152
41305
  addonId: null,
41153
41306
  access: "delete"
41154
41307
  },
41308
+ "ptz.getHomePreset": {
41309
+ capName: "ptz",
41310
+ capScope: "device",
41311
+ addonId: null,
41312
+ access: "view"
41313
+ },
41314
+ "ptz.getHomeReturnSeconds": {
41315
+ capName: "ptz",
41316
+ capScope: "device",
41317
+ addonId: null,
41318
+ access: "view"
41319
+ },
41155
41320
  "ptz.getOptions": {
41156
41321
  capName: "ptz",
41157
41322
  capScope: "device",
@@ -41200,6 +41365,18 @@ Object.freeze({
41200
41365
  addonId: null,
41201
41366
  access: "create"
41202
41367
  },
41368
+ "ptz.setHomePreset": {
41369
+ capName: "ptz",
41370
+ capScope: "device",
41371
+ addonId: null,
41372
+ access: "create"
41373
+ },
41374
+ "ptz.setHomeReturnSeconds": {
41375
+ capName: "ptz",
41376
+ capScope: "device",
41377
+ addonId: null,
41378
+ access: "create"
41379
+ },
41203
41380
  "ptz.stop": {
41204
41381
  capName: "ptz",
41205
41382
  capScope: "device",
@@ -44363,6 +44540,11 @@ Object.freeze({
44363
44540
  form: "single",
44364
44541
  optional: false
44365
44542
  }],
44543
+ "ptz.captureHomeHere": [{
44544
+ name: "deviceId",
44545
+ form: "single",
44546
+ optional: false
44547
+ }],
44366
44548
  "ptz.continuousMove": [{
44367
44549
  name: "deviceId",
44368
44550
  form: "single",
@@ -44373,6 +44555,16 @@ Object.freeze({
44373
44555
  form: "single",
44374
44556
  optional: false
44375
44557
  }],
44558
+ "ptz.getHomePreset": [{
44559
+ name: "deviceId",
44560
+ form: "single",
44561
+ optional: false
44562
+ }],
44563
+ "ptz.getHomeReturnSeconds": [{
44564
+ name: "deviceId",
44565
+ form: "single",
44566
+ optional: false
44567
+ }],
44376
44568
  "ptz.getOptions": [{
44377
44569
  name: "deviceId",
44378
44570
  form: "single",
@@ -44413,6 +44605,16 @@ Object.freeze({
44413
44605
  form: "single",
44414
44606
  optional: false
44415
44607
  }],
44608
+ "ptz.setHomePreset": [{
44609
+ name: "deviceId",
44610
+ form: "single",
44611
+ optional: false
44612
+ }],
44613
+ "ptz.setHomeReturnSeconds": [{
44614
+ name: "deviceId",
44615
+ form: "single",
44616
+ optional: false
44617
+ }],
44416
44618
  "ptz.stop": [{
44417
44619
  name: "deviceId",
44418
44620
  form: "single",
package/dist/addon.mjs CHANGED
@@ -6344,7 +6344,7 @@ var ZodIssueCode = {
6344
6344
  var ZodFirstPartyTypeKind;
6345
6345
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
6346
6346
  //#endregion
6347
- //#region ../types/dist/sleep-BDR76Ykr.mjs
6347
+ //#region ../types/dist/sleep-vl6nBE8d.mjs
6348
6348
  /**
6349
6349
  * The audio chunk plane's byte format, and the ONE expansion from a coded
6350
6350
  * window to float samples (D455).
@@ -31853,14 +31853,81 @@ var privacyMaskCapability = {
31853
31853
  * whether persisting is worth a SQLite commit. */
31854
31854
  volatileStateFields: ["lastFetchedAt"]
31855
31855
  };
31856
+ /**
31857
+ * What a preset id DOES on this camera.
31858
+ *
31859
+ * On several PTZ firmwares the preset namespace is shared: low ids are stored
31860
+ * positions, a reserved band triggers camera FUNCTIONS. The dispensa camera
31861
+ * (Hikvision) returns its own reserved band in the preset list, named by the
31862
+ * firmware:
31863
+ *
31864
+ * 34 Back to origin · 39 Day mode · 40 Night mode · 46 Day/Night Auto Mode
31865
+ * 92 Set manual limits · 93 Save manual limits · 94 Remote reboot
31866
+ * 95 Call OSD menu
31867
+ *
31868
+ * We used to hand all of these to the UI as ordinary presets. Saving over one
31869
+ * is what produced `PUT /ISAPI/PTZCtrl/channels/1/presets/34 -> HTTP 500`: the
31870
+ * camera refusing to let "Back to origin" be overwritten, surfaced to the
31871
+ * operator as a transport failure.
31872
+ *
31873
+ * A function preset stays fully usable as a DESTINATION -- `goToPreset('34')`
31874
+ * is the single most useful thing that camera can do. Only `savePreset` and
31875
+ * `deletePreset` are gated.
31876
+ */
31877
+ var PtzPresetFunctionSchema = _enum([
31878
+ "home",
31879
+ "day-mode",
31880
+ "night-mode",
31881
+ "day-night-auto",
31882
+ "set-limits",
31883
+ "save-limits",
31884
+ "reboot",
31885
+ "osd-menu"
31886
+ ]);
31856
31887
  var PtzPresetSchema = object({
31857
31888
  id: string(),
31858
- name: string()
31889
+ name: string(),
31890
+ /**
31891
+ * The firmware function this id performs, when the provider KNOWS the id is
31892
+ * reserved. `null` = an ordinary stored position, OR a reserved id this
31893
+ * provider does not recognise -- the two are told apart by `writable`.
31894
+ */
31895
+ fn: PtzPresetFunctionSchema.nullable(),
31896
+ /**
31897
+ * Whether `savePreset` / `deletePreset` may target this id. A provider sets
31898
+ * it false only for a band it KNOWS is reserved; where the firmware is not
31899
+ * documented it stays true and a refusal comes from the camera, named.
31900
+ */
31901
+ writable: boolean()
31859
31902
  });
31903
+ /**
31904
+ * Where the head is pointing -- per axis, and `null` when the driver cannot
31905
+ * read it.
31906
+ *
31907
+ * It used to be three REQUIRED numbers, which left a provider that cannot read
31908
+ * position no way to say so. All four said `0`:
31909
+ *
31910
+ * reolink `return { pan: 0, tilt: 0, zoom: 0 }` "until a position-query
31911
+ * path lands upstream"
31912
+ * hikvision stub, "firmware-dependent and frequently absent"
31913
+ * amcrest stub, "no generic absolute-position read for this model family"
31914
+ * onvif throws
31915
+ *
31916
+ * So every consumer asking where a camera points was told "perfectly centred"
31917
+ * by four cameras that had never looked. That is D393 -- a measurement that
31918
+ * FAILED is `null`, never `0`, and the type says so all the way to the
31919
+ * decision -- the same shape as the unreadable `statfs` folded into "0 bytes of
31920
+ * headroom", which evacuated a healthy disk.
31921
+ *
31922
+ * D393 also says to check for a narrower structural TWIN of the result type.
31923
+ * There is one: `PtzStatusSchema` extends this, so the lie had already
31924
+ * propagated into `getStatus`, which is the surface `getPosition`'s own comment
31925
+ * tells callers to migrate to.
31926
+ */
31860
31927
  var PtzPositionSchema = object({
31861
- pan: number(),
31862
- tilt: number(),
31863
- zoom: number()
31928
+ pan: number().nullable(),
31929
+ tilt: number().nullable(),
31930
+ zoom: number().nullable()
31864
31931
  });
31865
31932
  var PtzMoveCommandSchema = object({
31866
31933
  pan: number().optional(),
@@ -31879,7 +31946,72 @@ var PtzOptionsSchema = object({
31879
31946
  maxPresets: number().optional(),
31880
31947
  /** Whether the camera exposes a controllable autofocus toggle
31881
31948
  * (boolean `hasX` per the getOptions availability convention). */
31882
- hasAutofocus: boolean()
31949
+ hasAutofocus: boolean(),
31950
+ /**
31951
+ * How many distinct speeds this camera's NATIVE scale offers.
31952
+ *
31953
+ * The cap's `speed` is normalized 0..1 and each provider maps it down --
31954
+ * Baichuan 1..63, Dahua 1..8, ISAPI's percentage -100..100. The normalized
31955
+ * value hides how coarse that really is: asking an amcrest for `0.37` is
31956
+ * meaningless, because it has eight steps and three of them round to the
31957
+ * same one. A loop that tunes its own gain has to know the granularity of
31958
+ * the knob it is turning.
31959
+ *
31960
+ * `null` = the driver does not know, or the scale is continuous (ONVIF takes
31961
+ * a float). Never a made-up number.
31962
+ */
31963
+ speedSteps: number().int().positive().nullable(),
31964
+ /**
31965
+ * How long ONE `move` pulse runs on this driver, ms.
31966
+ *
31967
+ * `move` is a self-terminating burst everywhere, but every provider hardcoded
31968
+ * its own duration in private -- 200 reolink, 350 amcrest, 500 hikvision,
31969
+ * 1000 onvif -- so no caller could read it. It is the DENOMINATOR of "how far
31970
+ * did the head travel per pulse": without it a measured displacement has no
31971
+ * gain to be divided into.
31972
+ *
31973
+ * `null` = the driver cannot say.
31974
+ */
31975
+ moveImpulseMs: number().int().positive().nullable()
31976
+ });
31977
+ /**
31978
+ * Which preset `goHome` goes to, and WHO decided.
31979
+ *
31980
+ * `goHome` used to be three vendor "conventions" written in three comments --
31981
+ * Reolink preset 0, Hikvision preset '1', Dahua preset 1 -- and on this fleet
31982
+ * not one of the three cameras honours its own:
31983
+ *
31984
+ * 592 Videocamera camera Daniel (reolink) preset 0 holds "stanza"
31985
+ * 1438 Videocamera dispensa (hikvision) preset 1 holds "Credenza"
31986
+ * 3836 Videocamera studio (amcrest) preset 1 holds "Preset1"
31987
+ *
31988
+ * So `goHome` meant "go wherever the operator happened to save in slot 0 or 1",
31989
+ * and two of the three swallowed the failure in a bare `catch`. For autotrack
31990
+ * this is the HOTTEST path -- it runs every time a subject is released -- so it
31991
+ * needs an answer that is true per camera and audible when it is missing.
31992
+ *
31993
+ * `source` is what makes it honest:
31994
+ * - `operator` -- picked in the UI, stored by the provider.
31995
+ * - `firmware` -- the camera itself named a preset `fn: 'home'` (Hikvision's
31996
+ * "Back to origin"), adopted as the default with nothing to configure.
31997
+ * - `native` -- the driver homes WITHOUT a preset at all. ONVIF does:
31998
+ * `goHome` is `ptzAbsoluteMove({x:0, y:0, zoom:0})`. `presetId` is null and
31999
+ * that is not a failure -- there is nothing to pick, and the UI must offer
32000
+ * no picker.
32001
+ * - `none` -- nothing is configured and the camera names nothing.
32002
+ * `goHome` REFUSES rather than moving the head somewhere arbitrary.
32003
+ *
32004
+ * `source === 'none'` is the refusal condition, NOT `presetId === null`: the
32005
+ * native case has no preset and homes perfectly well.
32006
+ */
32007
+ var PtzHomePresetSchema = object({
32008
+ presetId: string().nullable(),
32009
+ source: _enum([
32010
+ "operator",
32011
+ "firmware",
32012
+ "native",
32013
+ "none"
32014
+ ])
31883
32015
  });
31884
32016
  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({
31885
32017
  deviceId: number(),
@@ -31897,7 +32029,22 @@ DeviceType.Camera, method(PtzMoveCommandSchema.extend({ deviceId: number() }), _
31897
32029
  }), _void(), {
31898
32030
  kind: "mutation",
31899
32031
  auth: "admin"
31900
- }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
32032
+ }), method(object({ deviceId: number() }), PtzOptionsSchema), method(object({ deviceId: number() }), _void(), { kind: "mutation" }), method(object({ deviceId: number() }), PtzHomePresetSchema), method(object({
32033
+ deviceId: number(),
32034
+ presetId: string().nullable()
32035
+ }), _void(), {
32036
+ kind: "mutation",
32037
+ auth: "admin"
32038
+ }), method(object({ deviceId: number() }), _void(), {
32039
+ kind: "mutation",
32040
+ auth: "admin"
32041
+ }), method(object({ deviceId: number() }), number().int().nullable()), method(object({
32042
+ deviceId: number(),
32043
+ seconds: number().int().min(0).max(3600)
32044
+ }), _void(), {
32045
+ kind: "mutation",
32046
+ auth: "admin"
32047
+ }), method(object({ deviceId: number() }), PtzPositionSchema), method(object({
31901
32048
  deviceId: number(),
31902
32049
  enabled: boolean()
31903
32050
  }), _void(), { kind: "mutation" });
@@ -41139,6 +41286,12 @@ Object.freeze({
41139
41286
  addonId: null,
41140
41287
  access: "create"
41141
41288
  },
41289
+ "ptz.captureHomeHere": {
41290
+ capName: "ptz",
41291
+ capScope: "device",
41292
+ addonId: null,
41293
+ access: "create"
41294
+ },
41142
41295
  "ptz.continuousMove": {
41143
41296
  capName: "ptz",
41144
41297
  capScope: "device",
@@ -41151,6 +41304,18 @@ Object.freeze({
41151
41304
  addonId: null,
41152
41305
  access: "delete"
41153
41306
  },
41307
+ "ptz.getHomePreset": {
41308
+ capName: "ptz",
41309
+ capScope: "device",
41310
+ addonId: null,
41311
+ access: "view"
41312
+ },
41313
+ "ptz.getHomeReturnSeconds": {
41314
+ capName: "ptz",
41315
+ capScope: "device",
41316
+ addonId: null,
41317
+ access: "view"
41318
+ },
41154
41319
  "ptz.getOptions": {
41155
41320
  capName: "ptz",
41156
41321
  capScope: "device",
@@ -41199,6 +41364,18 @@ Object.freeze({
41199
41364
  addonId: null,
41200
41365
  access: "create"
41201
41366
  },
41367
+ "ptz.setHomePreset": {
41368
+ capName: "ptz",
41369
+ capScope: "device",
41370
+ addonId: null,
41371
+ access: "create"
41372
+ },
41373
+ "ptz.setHomeReturnSeconds": {
41374
+ capName: "ptz",
41375
+ capScope: "device",
41376
+ addonId: null,
41377
+ access: "create"
41378
+ },
41202
41379
  "ptz.stop": {
41203
41380
  capName: "ptz",
41204
41381
  capScope: "device",
@@ -44362,6 +44539,11 @@ Object.freeze({
44362
44539
  form: "single",
44363
44540
  optional: false
44364
44541
  }],
44542
+ "ptz.captureHomeHere": [{
44543
+ name: "deviceId",
44544
+ form: "single",
44545
+ optional: false
44546
+ }],
44365
44547
  "ptz.continuousMove": [{
44366
44548
  name: "deviceId",
44367
44549
  form: "single",
@@ -44372,6 +44554,16 @@ Object.freeze({
44372
44554
  form: "single",
44373
44555
  optional: false
44374
44556
  }],
44557
+ "ptz.getHomePreset": [{
44558
+ name: "deviceId",
44559
+ form: "single",
44560
+ optional: false
44561
+ }],
44562
+ "ptz.getHomeReturnSeconds": [{
44563
+ name: "deviceId",
44564
+ form: "single",
44565
+ optional: false
44566
+ }],
44375
44567
  "ptz.getOptions": [{
44376
44568
  name: "deviceId",
44377
44569
  form: "single",
@@ -44412,6 +44604,16 @@ Object.freeze({
44412
44604
  form: "single",
44413
44605
  optional: false
44414
44606
  }],
44607
+ "ptz.setHomePreset": [{
44608
+ name: "deviceId",
44609
+ form: "single",
44610
+ optional: false
44611
+ }],
44612
+ "ptz.setHomeReturnSeconds": [{
44613
+ name: "deviceId",
44614
+ form: "single",
44615
+ optional: false
44616
+ }],
44415
44617
  "ptz.stop": [{
44416
44618
  name: "deviceId",
44417
44619
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-rademacher",
3
- "version": "0.2.109",
3
+ "version": "0.2.111",
4
4
  "description": "Rademacher HomePilot device-provider addon for CamStack — wraps the @apocaliss92/noderademacher local-hub client (roller shutters over the cover cap)",
5
5
  "keywords": [
6
6
  "camstack",